Forum

Please or Register to create posts and topics.

Thiết kế tổng thể cho nhu cầu phân tích dữ liệu với hệ sinh thái của Microsoft Fabric

Bài viết chi tiết từ Microsoft mô tả cách sử dụng Azure Synapse Analytics cùng với các dịch vụ dữ liệu khác trong hệ sinh thái Azure để xây dựng một nền tảng dữ liệu hiện đại, xử lý các thách thức phổ biến liên quan đến dữ liệu trong một tổ chức. Tài liệu này bao gồm kiến trúc, luồng dữ liệu, cách xử lý các loại dữ liệu khác nhau (có cấu trúc, bán cấu trúc, không cấu trúc và dữ liệu phát trực tuyến), các thành phần liên quan, các lựa chọn thay thế, các trường hợp sử dụng tiềm năng, và các khuyến nghị thực tiễn. 
 
Xem chi tiết tài liệu của Microsoft tại đây
 

1. Tổng quan về kiến trúc
  • Mục tiêu: Tài liệu mô tả một giải pháp phân tích toàn diện (end-to-end) sử dụng Azure Synapse Analytics kết hợp với các dịch vụ như Azure Data Lake, Azure Cosmos DB, Azure Event Hubs, v.v., để thu thập, lưu trữ, xử lý, làm giàu và phân phối dữ liệu từ nhiều nguồn khác nhau (có cấu trúc, bán cấu trúc, không cấu trúc và phát trực tuyến).
  • Kiến trúc: Được minh họa bằng sơ đồ (có tệp Visio tải xuống), dữ liệu chảy từ các nguồn bên trái qua các giai đoạn xử lý từ dưới lên trên, sử dụng Azure Data Lake làm trung tâm lưu trữ chính.
 
Các lớp trong Azure Data Lake:
  1. Raw Layer: Khu vực tiếp nhận dữ liệu thô từ các hệ thống nguồn, chưa qua xử lý hay lọc.
  2. Enriched Layer: Dữ liệu được làm sạch, lọc và có thể được biến đổi.
  3. Curated Layer: Dữ liệu đã sẵn sàng cho người dùng cuối (consumer-ready).
 

 
2. Luồng dữ liệu (Dataflow)
Tài liệu chia cách xử lý dữ liệu theo loại nguồn dữ liệu:
 
a. Cơ sở dữ liệu quan hệ (Relational Databases)
  • Thu thập (Ingest): Sử dụng Azure Synapse Pipelines để kéo dữ liệu từ các cơ sở dữ liệu tại chỗ hoặc trên đám mây, có thể kích hoạt theo lịch trình hoặc sự kiện.
  • Lưu trữ (Store): Dữ liệu được lưu vào Raw Layer của Azure Data Lake dưới dạng tệp văn bản phân cách hoặc Parquet nén.
  • Xử lý (Process): Sử dụng Data Flows, SQL Serverless hoặc Spark Notebooks để xác thực, biến đổi và chuyển dữ liệu qua Enriched Layer đến Curated Layer. Có thể tích hợp mô hình máy học (ML) từ Azure AI/ML.
  • Phân phối (Serve): Dữ liệu được tải vào Power BI để trực quan hóa hoặc chia sẻ qua Azure Data Share.
 
b. Nguồn dữ liệu bán cấu trúc (Semi-structured Data)
  • Thu thập: Kéo dữ liệu từ CSV, JSON, No-SQL (như Cosmos DB, MongoDB) hoặc API REST của ứng dụng SaaS.
  • Lưu trữ: Lưu nguyên định dạng gốc trong Raw Layer.
  • Xử lý: Sử dụng SQL Serverless (truy vấn tệp CSV/JSON/Parquet dưới dạng bảng ngoài) hoặc Data Explorer Pools cho phân tích thời gian thực (time-series).
  • Phân phối: Tương tự như cơ sở dữ liệu quan hệ, hỗ trợ Power BI và Azure Data Share.
 
c. Nguồn dữ liệu không cấu trúc (Non-structured Data)
  • Thu thập: Lấy dữ liệu từ video, hình ảnh, âm thanh, văn bản tự do qua file hoặc API.
  • Lưu trữ: Giữ nguyên định dạng gốc trong Raw Layer.
  • Xử lý: Sử dụng Spark Notebooks để xử lý và tích hợp mô hình ML.
  • Phân phối: Dữ liệu có thể được tải vào SQL Pool hoặc Power BI, hỗ trợ khai thác tri thức (knowledge mining) từ tài liệu, PDF, hình ảnh, v.v.
 
d. Dữ liệu phát trực tuyến (Streaming Data)
  • Thu thập: Sử dụng Azure Event Hubs hoặc IoT Hubs để thu thập dữ liệu từ ứng dụng hoặc thiết bị IoT.
  • Lưu trữ: Lưu trữ sự kiện vào Raw Layer qua Event Hubs Capture hoặc IoT Hub Storage Endpoints.
  • Xử lý:
    • Hot Path: Stream Analytics xử lý dữ liệu thời gian thực và gửi kết quả đến Power BI.
    • Cold Path: Dữ liệu lưu trữ được phân tích lịch sử bằng SQL Serverless hoặc Spark.
  • Phân phối: Hỗ trợ Power BI cho trực quan hóa thời gian thực và chia sẻ qua Azure Data Share.
 
e. Dữ liệu từ Azure Cosmos DB và Dataverse
  • Thu thập: Sử dụng Azure Synapse Link để truy cập dữ liệu gần thời gian thực.
  • Xử lý: Kết hợp dữ liệu từ Cosmos DB/Dataverse với dữ liệu từ data lake hoặc data warehouse bằng SQL Serverless hoặc Spark.
  • Lưu trữ: Kết quả được lưu vào data lake hoặc SQL Pool.
  • Phân phối: Tương tự các loại dữ liệu khác, hỗ trợ Power BI và khai thác tri thức.
 

 
3. Thành phần chính (Components)
Các dịch vụ Azure được sử dụng trong kiến trúc:
  • Azure Synapse Analytics: Nền tảng phân tích chính.
  • Azure Data Lake Gen2: Lưu trữ dữ liệu ở các giai đoạn khác nhau.
  • Azure Cosmos DB: Cơ sở dữ liệu No-SQL cho phân tích thời gian thực.
  • Azure Event Hubs/IoT Hub: Thu thập dữ liệu phát trực tuyến.
  • Azure Stream Analytics: Xử lý dữ liệu thời gian thực.
  • Azure AI/ML: Làm giàu dữ liệu bằng mô hình máy học.
  • Power BI: Trực quan hóa và phân tích dữ liệu.
  • Azure Data Share: Chia sẻ dữ liệu an toàn.
  • Microsoft Purview: Quản trị và khám phá dữ liệu.
 

 
4. Các lựa chọn thay thế (Alternatives)
  • Azure Data Factory: Thay thế Azure Synapse Pipelines cho điều phối pipeline.
  • Azure Databricks: Thay thế Spark Pools để xử lý dữ liệu.
  • Azure HDInsight Kafka: Thay thế Event Hubs cho dữ liệu phát trực tuyến lớn.
  • Azure Functions: Gọi Azure AI/ML từ pipeline.
 

 
5. Trường hợp sử dụng tiềm năng (Use Cases)
  • Xây dựng kiến trúc sản phẩm dữ liệu (data warehouse + data lake).
  • Tích hợp dữ liệu quan hệ với dữ liệu không cấu trúc.
  • Phân tích dữ liệu đơn giản bằng mô hình ngữ nghĩa và công cụ trực quan.
  • Chia sẻ dữ liệu trong nội bộ hoặc với đối tác.
  • Khai thác tri thức từ tài liệu, hình ảnh, PDF, v.v.
 

 
6. Khuyến nghị (Recommendations)
  • Quản trị dữ liệu (Data Governance): Sử dụng Microsoft Purview để khám phá, phân loại và quản lý dữ liệu.
  • Dịch vụ nền tảng:
    • Microsoft Entra ID: Xác thực và bảo mật.
    • Azure Key Vault: Quản lý thông tin xác thực.
    • Azure Monitor/Defender: Giám sát và bảo mật.
    • Azure DevOps/GitHub: Tự động hóa triển khai.
  • Tối ưu hóa chi phí: Sử dụng Azure Pricing Calculator để ước tính chi phí dựa trên khối lượng dữ liệu và hiệu suất mong muốn.
 

 
7. Triển khai (Deploy this Scenario)
  • Có kho lưu trữ GitHub đi kèm với hướng dẫn triển khai tự động kiến trúc này.
 

 

Tóm tắt

Tài liệu cung cấp một hướng dẫn toàn diện để xây dựng nền tảng dữ liệu hiện đại trên Azure, tận dụng Azure Synapse Analytics làm trung tâm. Nó phù hợp cho các tổ chức cần xử lý dữ liệu đa dạng (structured, semi-structured, unstructured, streaming) và yêu cầu phân tích thời gian thực lẫn lịch sử, trực quan hóa dữ liệu và chia sẻ an toàn.