1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định

113 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Data Mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Tác giả Nguyễn Văn Hiền, Huỳnh Gia Huy
Người hướng dẫn ThS. Nguyễn Văn Thành
Trường học Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh
Chuyên ngành Kỹ thuật Dữ liệu
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 113
Dung lượng 12,22 MB

Cấu trúc

  • Phần 1: MỞ ĐẦU (17)
    • 1.1. Giới thiệu đề tài (17)
    • 1.2. Mục đích đề tài (17)
    • 1.3. Phương pháp nghiên cứu (17)
    • 1.4. Bố cục báo cáo (18)
  • Phần 2: NỘI DUNG (20)
  • Chương 1: CƠ SỞ LÝ THUYẾT (18)
    • 2.1.1. Lịch sử và khái niệm của Data Mesh (20)
    • 2.1.2. Các thành phần chính của Data Mesh (22)
    • 2.1.3. So sánh Data Mesh với các kiến trúc dữ liệu khác (23)
    • 2.1.4. Lợi ích của việc sử dụng Data Mesh (25)
    • 2.1.5. Use Case: Data Mesh trong thực tế (28)
    • 2.1.6. Mô hình dữ liệu và định dạng dữ liệu trong Data Mesh (30)
    • 2.1.7. Data mesh trong thế giới thực và tiếp cận công nghệ của các công ty lớn đối với Data Mesh (31)
  • Chương 2: TỔNG QUÁT DATA MESH TRÊN MICROSOFT AZURE (18)
    • 2.2.1. Thiết kế hướng tên miền trên Azure? (36)
    • 2.2.2. Tổng quát Azure AD users và groups (37)
    • 2.2.3. Resource Groups và Azure Storage account (37)
    • 2.2.4. Tổng quan về Azure Synapse Analytics (39)
    • 2.2.5. Tổng quan về Azure RBAC (40)
    • 2.2.6. Azure Data Lake Storage gen V2 (41)
  • Chương 3: THỰC NGHIỆM (19)
    • 2.3.1 Mục tiêu (43)
    • 2.3.2 Mô tả thực nghiệm (43)
    • 2.3.3 Môi trường thực nghiệm (44)
    • 2.3.4 Dữ liệu thực nghiệm (45)
    • 2.3.5 Quy trình thực nghiệm (48)
  • Phần 3: KẾT LUẬN (110)
    • 3.1 Kết quả đạt được (110)
    • 3.2 Khó khăn và hạn chế (110)
    • 3.3 Hướng phát triển đề tài (111)
  • TÀI LIỆU THAM KHẢO (112)

Nội dung

Cụ thể, khóa luận sẽ trình bày cơ bản các kiến thức về kiến trúc Data Mesh và cách sử dụng Data Mesh trên Microsoft Azure, bao gồm lịch sử, khái niệm, các thành phần chính, mô hình hoạt

CƠ SỞ LÝ THUYẾT

Lịch sử và khái niệm của Data Mesh

Thuật ngữ "data mesh" được định nghĩa lần đầu bởi Zhamak Dehghani vào năm

2019 khi cô làm việc tại công ty công nghệ Thoughtworks, sau đó cung cấp chi tiết hơn về các nguyên tắc và kiến trúc logic trong suốt năm 2020 Mô hình data mesh đã được triển khai bởi các công ty như Zalando, Netflix, Intuit, VistaPrint, PayPal và nhiều công ty khác [1]

Vào năm 2022, Zhamak Dehghani rời bỏ Thoughtworks để thành lập Nextdata Technologies, tập trung vào việc phát triển dữ liệu phi tập trung

Data mesh là một cách tiếp cận kỹ thuật xây dựng kiến trúc dữ liệu phi tập trung bằng cách thiết kế dựa trên domain-oriented và self-service trong việc phát triển phần mềm

Các hướng lĩnh vực (domain-oriented), ví dụ một công ty về thương mại điện tử lớn có các đội chuyên môn bộ phận như là marketing, bán hàng, và chăm sóc khách hàng Mỗi đội đó có miền dữ liệu riêng và chịu trách nhiệm về việc quản lý dữ liệu trong miền của họ

Tự phục vụ (self-service) vẫn là một công ty thương mại có một nền tảng dữ liệu chung tự phục vụ cho các đội chuyên môn Trong nền tảng này, các đội có thể tự mình truy xuất và sử dụng dữ liệu một cách nhanh chóng và dễ dàng để thực hiện công việc của họ như là phân tích, báo cáo doanh số dựa trên khu vực hay thời gian hoặc phân tích chi tiết hành vi người dùng trên ứng dụng

Khái niệm này lấy cảm hứng từ lý thuyết về thiết kế dựa trên lĩnh vực của Eric Evans và lý thuyết về các mô hình nhóm của Manuel Pais và Matthew Skelton Data mesh tập trung chủ yếu vào dữ liệu chính mình, với việc quan tâm đến hệ thống dữ liệu và đường ống dữ liệu là phụ Ý tưởng chính của data mesh là tăng khả năng mở rộng của dữ liệu phân tích thông qua việc phi tập trung theo lĩnh vực

Trong mô hình data mesh, trách nhiệm quản lý dữ liệu phân tích được chuyển từ đội dữ liệu trung tâm sang các nhóm chịu trách nhiệm về lĩnh vực (domain teams) Các nhóm này được hỗ trợ bởi đội ngũ nền tảng dữ liệu (data platform team) cung cấp một nền tảng dữ liệu không phụ thuộc vào lĩnh vực cụ thể

Data mesh dựa trên bốn nguyên tắc cơ bản gồm:

Sở hữu lĩnh vực: Dữ liệu được sở hữu và quản lý bởi các chủ sở hữu dữ liệu riêng biệt Các chủ sở hữu dữ liệu là các đội hoặc cá nhân đảm nhận việc thu thập, lưu trữ và quản lý dữ liệu của một lĩnh vực kinh doanh cụ thể

Dữ liệu là sản phẩm: Dữ liệu được coi là một sản phẩm Các chủ sở hữu dữ liệu đảm nhiệm về việc phát triển và cung cấp dữ liệu cho người dùng

Cơ sở hạ tầng tự phục vụ: Người dùng có thể tự phục vụ dữ liệu mà họ cần mà không cần sự hỗ trợ của các chuyên gia dữ liệu

Hệ thống quản trị dữ liệu: Quản trị dữ liệu được thực hiện theo cách phân quyền, với các chủ sở hữu dữ liệu chịu trách nhiệm về dữ liệu của họ

Hình 2.1.1 Những nguyên tắc cơ bản của kiến trúc data mesh [4]

Nguyên tắc sở hữu miền (domain ownership principle) đặt ra rằng các đội ngũ miền (domain teams) phải chịu trách nhiệm với dữ liệu của họ Theo nguyên tắc này, dữ liệu phân tích nên được tổ chức xung quanh các lĩnh vực dữ liệu, tương tự như ranh giới của các đội ngũ liên quan đến ngữ cảnh giới hạn của hệ thống Theo kiến trúc phân tán dựa trên miền (domain-driven distributed architecture), việc quản lý dữ liệu, phân tích và vận hành được chuyển giao cho các đội ngũ miền, không còn nằm trong trách nhiệm của đội ngũ dữ liệu trung tâm

Nguyên tắc dữ liệu như một sản phẩm (data as a product principle) thể hiện triết lý tư duy sản phẩm đối với dữ liệu phân tích Nguyên tắc này đồng nghĩa với việc có các người tiêu dùng cho dữ liệu không chỉ nằm trong lĩnh vực của một miền dữ liệu cụ thể Đội ngũ miền phải chịu trách nhiệm đáp ứng nhu cầu của các miền dữ liệu khác bằng cách cung cấp dữ liệu chất lượng cao Đơn giản, dữ liệu miền nên được xem xét như bất kỳ API công cộng nào khác Ý tưởng đằng sau nền tảng cơ sở hạ tầng dữ liệu tự phục vụ (self-serve data infrastructure platform) là áp dụng tư duy nền tảng cho cơ sở hạ tầng dữ liệu Một đội ngũ nền tảng dữ liệu riêng biệt cung cấp các chức năng, công cụ và hệ thống không phụ thuộc vào miền để xây dựng, thực hiện và duy trì các sản phẩm dữ liệu tương thích cho tất cả các miền dữ liệu Với nền tảng của mình, đội ngũ nền tảng dữ liệu cho phép các đội ngũ miền tiêu dùng và tạo ra các sản phẩm dữ liệu một cách mạch lạc

Nguyên tắc quản lý liên minh (federated governance principle) đạt được tính tương đồng của tất cả các sản phẩm dữ liệu thông qua việc tiêu chuẩn hóa, điều này được thúc đẩy thông qua toàn bộ data mesh bởi nhóm quản lý Mục tiêu chính của quản lý liên minh là tạo ra một hệ sinh thái dữ liệu tuân thủ các quy tắc tổ chức và quy định ngành công nghiệp.[4]

Các thành phần chính của Data Mesh

Data domain: Data domain là một tập hợp dữ liệu liên quan đến một lĩnh vực cụ thể của tổ chức, chẳng hạn như marketing, bán hàng hoặc sản phẩm Mỗi domain có một nhóm chủ sở hữu dữ liệu, chịu trách nhiệm về việc thu thập, lưu trữ, xử lý và quản lý dữ liệu trong domain đó

Có một số lợi ích khi tổ chức dữ liệu theo domain, bao gồm:

Dữ liệu được tổ chức theo domain sẽ giúp người dùng dễ dàng tìm kiếm dữ liệu mà họ cần (tăng khả năng sử dụng và truy cập dữ liệu) Dữ liệu được kiểm soát bởi một nhóm chủ sở hữu dữ liệu cụ thể sẽ giúp cải thiện tính bảo mật và tuân thủ dữ liệu (Tăng tính bảo mật và tuân thủ) Data domain có thể được thêm hoặc xóa một cách dễ dàng, giúp các doanh nghiệp dễ dàng thích ứng với những thay đổi về nhu cầu dữ liệu (tăng khả năng mở rộng)

Data product: Data product là một dịch vụ dữ liệu được tạo ra để đáp ứng nhu cầu của một nhóm người dùng cụ thể Data product có thể bao gồm dữ liệu, mô hình dữ liệu, công cụ và quy trình

Có một số lợi ích khi tạo ra các data product, bao gồm:

Data product có thể được sử dụng bởi nhiều người dùng khác nhau, giúp tiết kiệm thời gian và chi phí cho việc phát triển và duy trì dữ liệu (tăng khả năng tái sử dụng dữ liệu) Data product giúp người dùng dễ dàng truy cập và sử dụng dữ liệu, mà không cần sự hỗ trợ từ các chuyên gia dữ liệu (tăng khả năng tự phục vụ) Data product có thể được mở rộng một cách linh hoạt, giúp các doanh nghiệp đáp ứng nhu cầu dữ liệu ngày càng tăng (tăng tính linh động về mặt mở rộng)

Self-serve platform: Self-serve platform là các nền tảng cho phép người dùng truy cập và sử dụng dữ liệu một cách tự phục vụ Self-serve platform thường bao gồm các công cụ và quy trình giúp người dùng tìm kiếm, truy cập, phân tích và chia sẻ dữ liệu Một số nền tảng sử dụng self-serve là Google Cloud Platform, Amazon Web Services, Databricks, Apache Kafka,…

Có một số lợi ích khi sử dụng self-serve platform, bao gồm:

Tăng khả năng tự phục vụ: Self-serve platform giúp người dùng dễ dàng truy cập và sử dụng dữ liệu, mà không cần sự hỗ trợ từ các chuyên gia dữ liệu

Tăng khả năng cộng tác: Self-serve platform giúp người dùng dễ dàng chia sẻ dữ liệu và kết hợp dữ liệu từ các nguồn khác nhau

Tăng cường khả năng học hỏi: Self-serve platform giúp người dùng tự mình học cách sử dụng dữ liệu để đưa ra các quyết định kinh doanh hiệu quả hơn.

So sánh Data Mesh với các kiến trúc dữ liệu khác

Data warehouse: Data warehouse là một trung tâm lưu trữ dữ liệu tập trung, được sử dụng để chứa dữ liệu từ nhiều nguồn khác nhau Data warehouse thường được tận dụng để phân tích dữ liệu và hỗ trợ các quyết định kinh doanh Kho dữ liệu và lưới dữ liệu không phải là những khái niệm loại trừ nhau, bởi vì kho dữ liệu có thể là một thành phần của lưới dữ liệu

Data lake: Giống như kho dữ liệu, hồ dữ liệu tập trung lưu trữ và xử lý dữ liệu, mặc dù hồ dữ liệu có thể lưu trữ cả dữ liệu có cấu trúc và phi cấu trúc trong lưu trữ tệp hoặc đối tượng chủ yếu Nó cũng có thể trở thành một phần của lưới dữ liệu.Data lake là một kho lưu trữ dữ liệu phi cấu trúc được sử dụng để lưu trữ dữ liệu từ nhiều nguồn khác nhau Data lake thường được sử dụng để phân tích dữ liệu và tạo báo cáo

Data mart: Data mart là một kho dữ liệu tập trung được sử dụng để lưu trữ dữ liệu từ một lĩnh vực kinh doanh cụ thể Data mart thường được sử dụng để hỗ trợ các quyết định kinh doanh cụ thể

Data mesh: Data mesh là một kiến trúc dữ liệu phân tán được sử dụng để lưu trữ dữ liệu từ nhiều nguồn khác nhau Data mesh thường được sử dụng để hỗ trợ các ứng dụng và tác vụ kinh doanh cụ thể.[2][3] Đây là bảng so sánh các kiến trúc dữ liệu: Đặc điểm Data warehouse Data lake Data mart Data mesh Mục đích Phân tích dữ liệu và hỗ trợ doanh nghiệp đưa ra quyết định

Phân tích dữ liệu và tạo báo cáo

Hỗ trợ các quyết định kinh doanh cụ thể

Hỗ trợ các ứng dụng và tác vụ kinh doanh cụ thể

Cấu trúc Tập trung Phi cấu trúc Tập trung Phân tán

Vị trí dữ liệu Tại một vị trí Tại nhiều vị trí Tại một vị trí Tại nhiều vị trí

Thông qua giao diện người dùng

Thông qua API hoặc giao diện người dùng

Thông qua giao diện người dùng

Thông qua API hoặc giao diện người dùng

Tính sẵn sàng Trung bình Cao Trung bình Cao

Công cụ và dịch vụ

Các công cụ và dịch vụ tiêu chuẩn

Các công cụ và dịch vụ tiêu chuẩn

Các công cụ và dịch vụ tiêu chuẩn

Các công cụ và dịch vụ tiêu chuẩn

Chi phí Cao hơn Thấp hơn Thấp hơn Thấp hơn Ưu điểm Dễ quản lý, dễ truy cập, dễ bảo mật

Dễ dàng tích hợp dữ liệu từ nhiều nguồn, linh hoạt, dễ mở rộng

Dành riêng cho các lĩnh vực kinh doanh cụ thể, dễ quản lý, dễ truy cập

Linh hoạt, dễ mở rộng, dễ bảo mật

Nhược điểm Có thể khó đảm bảo chất lượng dữ liệu, có thể tốn kém hơn để duy trì

Có thể phức tạp hơn để triển khai và quản lý

Có thể không đủ linh hoạt để hỗ trợ các nhu cầu kinh doanh cụ thể

Có thể phức tạp hơn để triển khai và quản lý

Bảng 2.1.3:So sánh các kiến trúc dữ liệu[2][3]

Dựa trên so sánh trên, chúng em đưa ra các kết luận sau:

● Data Warehouse thích hợp cho việc lưu trữ và phân tích dữ liệu kinh doanh có cấu trúc Nó cung cấp tính nhất quán và hiệu suất cao, nhưng đòi hỏi thiết kế trước và thời gian triển khai lâu, tốn kém

● Data Lake phù hợp cho việc lưu trữ và khám phá dữ liệu phi cấu trúc hoặc bán cấu trúc Nó linh hoạt và hỗ trợ khám phá dữ liệu và phân tích linh hoạt, nhưng đòi hỏi quá trình xử lý dữ liệu phức tạp hơn và khó khăn trong việc đảm bảo tính nhất quán và chất lượng của dữ liệu

Data Mart cung cấp dữ liệu tập trung và tối ưu hóa cho một lĩnh vực kinh doanh nào đó hoặc một nhóm người dùng có nhu cầu phân tích và báo cáo cụ thể Nó có tính nhất quán cao, hiệu suất cao và tối ưu hóa cho phân tích và báo cáo, nhưng cần sự phối hợp và tích hợp với Data Warehouse hoặc Data Lake

Data Mesh tạo ra một môi trường phân tán, tự phục vụ và tự quản lý cho dữ liệu

Nó linh hoạt, phân quyền, tự phục vụ và đáng tin cậy, nhưng đòi hỏi sự phối hợp trong cách tổ chức và quản lý dữ liệu

Tùy thuộc vào mục đích, yêu cầu và tình huống cụ thể mà lựa chọn kiến trúc phù hợp sẽ phụ thuộc vào yêu cầu phân tích dữ liệu, tính linh hoạt, tính nhất quán, hiệu suất và khả năng thích ứng với sự thay đổi của dữ liệu.[4]

Lợi ích của việc sử dụng Data Mesh

Phần này chúng em phân tích tiềm năng của việc triển khai data mesh từ hai quan điểm: qua góc nhìn của những người ra quyết định kinh doanh và chuyên gia công nghệ

2.1.4.1 Quan điểm trong khía cạnh kinh doanh

Từ góc độ kinh doanh, bản thân dữ liệu có rất ít giá trị Một trong những lý do để việc thu thập dữ liệu cho các doanh nghiệp trở nên quan trọng là giúp công ty đưa ra

10 quyết định tốt nhất Từ một mô hình như là kim tự tháp DIKW, đại diện cho Data (dữ liệu), Information (thông tin), Knowledge (kiến thức) và Wisdom (trí tuệ) như một cấu trúc phân cấp, trong đó mỗi yếu tố tiếp theo có thể được bắt nguồn từ cái trước cụ thể ở đây là dữ liệu

Hình 2.1.4 Kim tự tháp DIKW[6]

Dữ liệu trong bối cảnh này chỉ là một tập hợp các giá trị Để có được giá trị từ dữ liệu này, thì cần xây dựng bối cảnh, cho phép đưa ra quyết định dựa trên thông tin Data mesh cải thiện tính ổn định của toàn bộ cấu trúc

Có dữ liệu thô không có ích gì cho những người ra quyết định Có thể tải nó xuống máy tính xách tay và tự phân tích nó Có hai giả định về việc thu thập những dữ liệu thô này: Để tải xuống dữ liệu, nó cần phải có thể truy cập được Để đảm bảo giá trị của bất kỳ phân tích được thực hiện nào, dữ liệu cần phải đầy đủ nhất có thể Để giải quyết giả định đầu tiên: lưới dữ liệu tập trung rất nhiều vào việc làm cho dữ liệu có thể truy cập được Và không chỉ có thể truy cập mà còn có thể tìm thấy, tương tác và tái sử dụng Khả năng truy cập này được nhúng vào một trong bốn nguyên tắc lưới dữ liệu: dữ liệu coi là một sản phẩm, và mục tiêu là đảm bảo rằng dữ liệu có sẵn để sử dụng

Sự hoàn chỉnh của dữ liệu là một vấn đề khác mà data mesh nổi bật Khác với hầu hết kiến trúc data warehouse hoặc data lake, các sản phẩm dữ liệu và mô hình dữ liệu của chúng không được phát triển bởi các chuyên gia IT riêng biệt với phần kinh doanh Thay vào đó, quá trình phát triển được thực hiện thông qua sự hợp tác, đảm bảo rằng dữ liệu được trình bày ngoài lĩnh vực là đủ để rút ra những kết luận có ý nghĩa

Data mesh cũng giúp gia tăng giá trị cho các thành phần cao hơn trong cấu trúc tổ chức Các nhóm chuyển đổi dữ liệu thành thông tin, kiến thức và sự hiểu biết (mà doanh nghiệp thường gọi là thông tin thấu hiểu) có quyền truy cập tức thì vào nhiều nguồn dữ liệu tương tác được

Trong lý thuyết, có thể thực hiện việc truy cập tức thì này từ một data lake Tuy nhiên nhưng trong thực tế, các rắc rối kỹ thuật, quản lý quyền truy cập, và chuyển giao dữ liệu là những thách thức khiến cho việc này trở nên khó khăn Đặc biệt, nếu dữ liệu cần thiết phải được lưu trữ trong nhiều data lake khác nhau, việc làm cho chúng hoạt động cùng nhau trở nên gần như không thể Từ đó, việc có quyền truy cập vào các sản phẩm dữ liệu tối ưu cho việc đọc trở thành quan trọng, giúp thử nghiệm nhanh chóng các phương pháp phân tích mới và hỗ trợ phát triển linh hoạt các khả năng kinh doanh mới.[34

2.1.4.2 Quan điểm trong khía cạnh của chuyên gia công nghệ

Lợi ích chính từ quan điểm công nghệ là duy trì tốc độ phát triển cùng với sự phát triển của tổ chức, điều này là cần thiết để tiếp tục tạo ra lợi ích kinh doanh từ dữ liệu Data mesh được thiết kế để giải quyết nhược điểm của các kiến trúc dữ liệu khác như data warehouse hoặc data lake bằng cách phi tập trung sản xuất dữ liệu và quản lý dữ liệu Các kiến trúc khác này đưa vào một điểm nghẽn (bottleneck) - một nhóm trung tâm chịu trách nhiệm điều hoà tất cả dữ liệu cho toàn bộ công ty và làm cho nó sẵn sàng sử dụng Một nhóm duy nhất không thể mở rộng để đáp ứng các nhu cầu đa dạng về dữ liệu của một tổ chức đang phát triển Cả công nghệ và kiến thức của nhóm nhanh chóng trở thành vấn đề về quy mô Cuối cùng, mất nhiều thời gian cho công việc bảo trì và các dự án mới trở nên ngày càng bị trì hoãn

Lợi ích khác của data mesh là sự rõ ràng về quyền sở hữu dữ liệu ngay từ thời điểm dữ liệu được tạo ra Phương pháp này làm phẳng cấu trúc quản lý dữ liệu, chỉ còn lại một lớp mỏng của một nhóm quản trị liên minh Và ngay cả các hoạt động của nhóm đó cũng bị giới hạn trong việc thống nhất các tiêu chuẩn trong các lĩnh vực tự chủ

Sự gia tăng tốc độ phát triển cũng bắt nguồn từ việc trao quyền cho các nhóm thực hiện Việc trao quyền cho các nhóm thực hiện dẫn đến tăng tốc độ phát triển Bằng cách đặt trách nhiệm tạo ra và duy trì các sản phẩm dữ liệu lên vai của họ, tốc độ thay đổi không bị giới hạn bởi hàng đợi công việc của một nhóm tích hợp trung tâm duy nhất

Do đó, việc tiến hóa và sửa chữa các sản phẩm dữ liệu diễn ra nhanh hơn, đặc biệt là việc sửa lỗi và giảm thời gian gián đoạn

Sự ổn định của môi trường dữ liệu Với các sản phẩm dữ liệu cung cấp truy cập vào các phiên bản đã ký kết của các tập dữ liệu của chúng, các đường ống xây dựng trên chúng có tính ổn định cao hơn và yêu cầu ít công việc bảo trì hơn.

Use Case: Data Mesh trong thực tế

Triển khai lưới dữ liệu của Zalando:

Zalando là nền tảng thời trang hàng đầu Châu Âu, Zalando cần lưu trữ, xử lý và sử dụng lượng lớn dữ liệu hàng ngày Do tính chất rộng lớn và phức tạp trước đây tổ chức dựa vào hồ dữ liệu, sự phụ thuộc này đã dẫn đến những thách thức như thiếu quyền sở hữu dữ liệu, chất lượng dữ liệu bị giảm sau quá trình xử lý và khả năng mở rộng của tổ chức bị hạn chế về nguồn dữ liệu và người tiêu dùng Tình trạng này khiến các nhóm dữ liệu trở nên quá tải, trở thành nút thắt cổ chai (bottleneck) Để khắc phục những khó khăn này, Zalando quyết định xây dựng một Data Mesh riêng mà bao gồm: i) Phát triển theo hướng sở hữu dữ liệu phi tập trung ii) Ưu tiên tập trung vào miền dữ liệu mà không quan tâm đến quy trình (pipeline) iii) Hình dung dữ liệu như một sản phẩm(data as a product), không phải sản phẩm phụ iv) Thành lập các nhóm đa chức năng được tổ chức theo từng ngành v) Từ bỏ môi trường dữ liệu tập trung

Những thay đổi này cho phép Zalando loại bỏ nút thắt cổ chai ở cấp nhóm dữ liệu, phân phối trách nhiệm cơ sở hạ tầng này cho cơ sở hạ tầng dữ liệu dựa trên nền tảng và tương tác từ kiến trúc dữ liệu nguyên khối (hồ dữ liệu)

Hình dưới đây hiển thị kiến trúc lưới dữ liệu do Zalando triển khai Dịch vụ cốt lõi ban đầu (lưu trữ hồ dữ liệu) được giữ lại, đồng thời lớp siêu dữ liệu và khả năng quản lý được triển khai để lưu giữ thông tin về dịch vụ đó

Zalando sau đó đã triển khai khái niệm "mang theo bộ chứa của riêng bạn" cho phép người dùng tích hợp bộ chứa S3 với dữ liệu của họ vào cơ sở hạ tầng chung Zalando sử dụng các công nghệ như Databricks và Presto để duy trì nền tảng xử lý trung tâm của mình Các cụm (Spark cluster) có sẵn trên nền tảng xử lý và người dùng có thể định cấu hình các cụm và điều hướng sự phức tạp của chúng mà không cần nhóm chịu trách nhiệm về cơ sở hạ tầng cần biết họ đang làm gì

Hình 2.1.5 Kiến trúc lưới dữ liệu do Zalando triển khai[10]

Trong cuộc phỏng vấn video, người sáng lập lễ hội Data Alex Thamm đã có cơ hội trò chuyện với Alexander Borek đồng thời là trưởng phòng Phân tích Dữ liệu tại Zalando SE và là thành viên ủy ban DATA festival ngay từ ngày đầu về khái niệm lưới dữ liệu tại Zalando, Alexander cho rằng:

“Một điều thực sự hấp dẫn đối với tôi là việc hiện thực hóa khái niệm data mesh Tất cả chúng ta đều biết nó như một loại từ thông dụng, nhưng Zalando đang nỗ lực để biến nó thành hiện thực Đó là một khái niệm thực sự mạnh mẽ Chúng tôi đã có các nhóm dữ liệu gần giống như một công cụ ngăn chặn giữa những người sản xuất và những người tiêu thụ dữ liệu Với khái niệm data mesh, chúng tôi là người tạo điều kiện cho sự tương tác táo bạo giữa người tiêu dùng và nhà sản xuất Điều đó vô cùng mạnh mẽ,

14 không chỉ là một khái niệm mà còn có thực sự mọi người và cộng đồng tương tác với nhau Đó là một động lực khác để cộng tác”[9]

Mô hình dữ liệu và định dạng dữ liệu trong Data Mesh

Mô hình data mesh có thể hỗ trợ nhiều định dạng dữ liệu khác nhau, bao gồm:

2.1.6.1 Data Mesh hỗ trợ dữ liệu cấu trúc

Dữ liệu có cấu trúc là dữ liệu được lưu trữ trong các bảng, có các cột và hàng

Dữ liệu cấu trúc thường được sử dụng cho các ứng dụng phân tích truyền thống

Data Mesh hỗ trợ dữ liệu cấu trúc bằng cách sử dụng các bảng dữ liệu truyền thống Các bảng dữ liệu được lưu trữ trong các kho dữ liệu, được quản lý bởi các đội chuyên trách Các đội chuyên trách này chịu trách nhiệm về việc tạo, bảo trì và quản lý các bảng dữ liệu

Data Mesh sử dụng các nguyên tắc sau để hỗ trợ dữ liệu cấu trúc:

Phân phối dữ liệu theo chủ đề: Dữ liệu cấu trúc được phân phối theo các chủ đề, chẳng hạn như khách hàng, sản phẩm và quy trình kinh doanh Điều này giúp dữ liệu được sử dụng hiệu quả hơn, vì các đội chuyên trách có thể tập trung vào một chủ đề cụ thể

Sử dụng các công cụ và quy trình tiêu chuẩn: Data Mesh sử dụng các công cụ và quy trình tiêu chuẩn để giúp các đội chuyên trách dễ dàng chia sẻ và hợp tác với nhau

2.1.6.2 Data Mesh hỗ trợ dữ liệu không cấu trúc

Dữ liệu không cấu trúc: Dữ liệu không cấu trúc là dữ liệu không có cấu trúc rõ ràng, chẳng hạn như văn bản, hình ảnh, video và âm thanh Dữ liệu không cấu trúc thường được sử dụng cho các ứng dụng phân tích tiên tiến

Data Mesh hỗ trợ dữ liệu không cấu trúc bằng cách sử dụng các kho lưu trữ dữ liệu không cấu trúc Các kho lưu trữ dữ liệu không cấu trúc có thể lưu trữ các loại dữ liệu không cấu trúc khác nhau, chẳng hạn như văn bản, hình ảnh, video và âm thanh Các kho lưu trữ dữ liệu không cấu trúc được quản lý bởi các đội chuyên trách Các đội chuyên trách này chịu trách nhiệm về việc tạo, bảo trì và quản lý các kho lưu trữ dữ liệu không cấu trúc

Data Mesh sử dụng các nguyên tắc sau để hỗ trợ dữ liệu không cấu trúc:

Phân phối dữ liệu theo chủ đề: Dữ liệu không cấu trúc được phân phối theo các chủ đề, chẳng hạn như khách hàng, sản phẩm và quy trình kinh doanh Điều này giúp

15 dữ liệu được sử dụng hiệu quả hơn, vì các đội chuyên trách có thể tập trung vào một chủ đề cụ thể

Sử dụng các công cụ và quy trình tiêu chuẩn: Data Mesh sử dụng các công cụ và quy trình tiêu chuẩn để giúp các đội chuyên trách dễ dàng chia sẻ và hợp tác với nhau

2.1.6.3 Data Mesh hỗ trợ dữ liệu theo thời gian thực

Dữ liệu theo thời gian thực: Dữ liệu theo thời gian thực là dữ liệu được cập nhật liên tục Dữ liệu theo thời gian thực thường được sử dụng cho các ứng dụng thời gian thực, chẳng hạn như hệ thống theo dõi và cảnh báo

Data Mesh hỗ trợ dữ liệu theo thời gian thực bằng cách sử dụng các cơ sở dữ liệu thời gian thực Các cơ sở dữ liệu thời gian thực có thể cập nhật dữ liệu liên tục Các cơ sở dữ liệu thời gian thực được quản lý bởi các đội chuyên trách Các đội chuyên trách này chịu trách nhiệm về việc tạo, bảo trì và quản lý các cơ sở dữ liệu thời gian thực

Data Mesh sử dụng các nguyên tắc sau để hỗ trợ dữ liệu theo thời gian thực: Phân phối dữ liệu theo chủ đề: Dữ liệu theo thời gian thực được phân phối theo các chủ đề, chẳng hạn như khách hàng, sản phẩm và quy trình kinh doanh Điều này giúp dữ liệu được sử dụng hiệu quả hơn, vì các đội chuyên trách có thể tập trung vào một chủ đề cụ thể

Sử dụng các công cụ và quy trình tiêu chuẩn: Data Mesh sử dụng các công cụ và quy trình tiêu chuẩn để giúp các đội chuyên trách dễ dàng chia sẻ và hợp tác với nhau.

TỔNG QUÁT DATA MESH TRÊN MICROSOFT AZURE

Thiết kế hướng tên miền trên Azure?

Domain-driven design (DDD) là một cách tiếp cận để phân tách thiết kế phần mềm (mô hình) và phân bổ nhóm, dựa trên các đường nối của một doanh nghiệp Nó phân tách phần mềm dựa trên cách một doanh nghiệp phân tách thành các miền và mô hình hóa phần mềm dựa trên ngôn ngữ được sử dụng bởi từng lĩnh vực kinh doanh

DDD là một phản ứng với sự phát triển nhanh chóng của sự phức tạp trong thiết kế phần mềm bắt nguồn từ việc số hóa các doanh nghiệp Khi các tổ chức phát triển tài sản kỹ thuật số của họ — ứng dụng văn phòng, dịch vụ kỹ thuật số, công nghệ web và di động — và tiếp tục tăng các tính năng của họ, phần mềm trở nên phức tạp hơn và khó quản lý hơn

Domain-driven design, Và ý tưởng phá vỡ mô hình phần mềm dựa trên các tên miền, đã ảnh hưởng lớn đến kiến trúc phần mềm của thập kỷ qua, ví dụ như với microservices Kiến trúc microservices phân rã lớn và hệ thống phức tạp thành các dịch vụ phân tán được xây dựng xung quanh khả năng của miền doanh nghiệp Nó cung cấp hành trình của người dùng và các quy trình kinh doanh phức tạp thông qua việc tích hợp lỏng lẻo các dịch vụ

Thiết kế theo hướng miền đã thay đổi cơ bản cách các nhóm công nghệ hình thành và dẫn đến sự liên kết của các nhóm chức năng chéo kinh doanh và công nghệ

Nó đã ảnh hưởng lớn đến cách các tổ chức mở rộng quy mô, theo cách mà một nhóm có thể độc lập và tự chủ sở hữu khả năng miền và dịch vụ kỹ thuật số.[12]

Tổng quát Azure AD users và groups

Azure Active Directory (Azure AD) là giải pháp quản lý truy cập và nhận dạng (IAM) dựa trên đám mây dành cho doanh nghiệp của Microsoft

Azure AD là nền tảng nhận dạng để quản lý người dùng nội bộ và bên ngoài của chúng ta một cách an toàn Các tổ chức sử dụng Azure AD để lưu trữ thông tin người dùng như Tên, ID, Email, Địa chỉ, v.v

Một vài hoạt động hàng ngày thường xảy ra trong Azure AD giống như:

• Thêm hoặc xóa người dùng

• Thêm hoặc thay đổi thông tin hồ sơ người dùng

• Đặt lại hoặc thay đổi mật khẩu của người dùng

• Đặt lại mật khẩu Self-service

• Gán hoặc xóa vai trò người dùng

• Gán hoặc loại bỏ giấy phép người dùng

• Tạo hoặc xóa nhóm Azure AD

• Chỉnh sửa thông tin nhóm Azure AD

• Thêm hoặc xóa thành viên khỏi nhóm Azure AD

• Thêm, xóa hoặc thay đổi chủ sở hữu nhóm Azure AD, v.v.[13]

Resource Groups và Azure Storage account

Nhóm tài nguyên Azure(Azure resource groups) là tập hợp logic của máy ảo, tài khoản lưu trữ, mạng ảo, ứng dụng web, cơ sở dữ liệu và máy chủ cơ sở dữ liệu Chúng ta có thể sử dụng chúng để nhóm các tài nguyên liên quan cho một ứng dụng và chia chúng thành các nhóm cho sản xuất và phi sản xuất hoặc bất kỳ cấu trúc tổ chức nào khác mà chúng ta thích

Mô hình quản lý nhóm tài nguyên Azure cung cấp bốn cấp độ hoặc "phạm vi" quản lý để sắp xếp tài nguyên của chúng ta:

Nhóm quản lý (Management groups): Các nhóm này là vùng chứa để quản lý quyền truy cập, chính sách và tuân thủ cho nhiều đăng ký(subscriptions) Tất cả các đăng ký trong một nhóm quản lý sẽ tự động kế thừa các điều kiện áp dụng cho nhóm quản lý Chúng thường được sử dụng để nhóm các đăng ký theo bộ phận nội bộ hoặc khu vực địa lý Đăng ký (Subscriptions): Đăng ký liên kết tài khoản người dùng và tài nguyên được tạo bởi các tài khoản người dùng đó Mỗi đăng ký có giới hạn hoặc hạn ngạch về số lượng tài nguyên chúng ta có thể tạo và sử dụng Các tổ chức có thể sử dụng đăng ký để quản lý chi phí và tài nguyên do người dùng, nhóm hoặc dự án tạo Thông thường, đăng ký tương đương với một ứng dụng

Nhóm tài nguyên (Resource groups): Nhóm tài nguyên là một vùng chứa logic trong đó các tài nguyên Azure như ứng dụng web, cơ sở dữ liệu và tài khoản lưu trữ được triển khai và quản lý

Tài nguyên (Resources): Tài nguyên là các phiên bản dịch vụ mà chúng ta tạo như máy ảo, lưu trữ hoặc cơ sở dữ liệu SQL.[14]

Tài khoản lưu trữ Azure(Azure Storage Account) là tài khoản lưu trữ là tài nguyên hoạt động như một vùng chứa nhóm tất cả các dịch vụ dữ liệu từ bộ nhớ Azure (Azure blobs, Azure files, Azure Queues, và Azure Tables) Điều này giúp việc quản lý tất cả chúng như một nhóm Các chính sách được chỉ định trong khi tạo tài khoản lưu trữ hoặc thực hiện thay đổi sau khi tạo áp dụng cho tất cả các dịch vụ bên trong tài khoản Xóa tài khoản lưu trữ sẽ xóa tất cả các dịch vụ lưu trữ được triển khai và dữ liệu được lưu trữ bên trong tài khoản đó

Các chính sách mà chúng ta có thể xác định như sau:

• Đăng ký (Subscription): Chúng ta có thể chọn đăng ký Azure sẽ được lập hóa đơn cho tất cả các dịch vụ

• Vị trí (Location): Chúng ta có thể chọn trung tâm dữ liệu sẽ lưu trữ các dịch vụ

• Hiệu năng (Performance): Chúng ta có thể chọn các dịch vụ dữ liệu và loại đĩa phần cứng để lưu trữ dữ liệu Standard giúp chúng ta có các dịch vụ Azure Blob, Azure File, Azure Table và Azure Queue với các ổ đĩa từ để lưu trữ dữ liệu Premium

23 cung cấp cho chúng ta nhiều dịch vụ hơn và nhanh hơn vì nó sử dụng đĩa trạng thái rắn

(SSD) để lưu trữ dữ liệu

• Mở rộng (Replication): Nó giúp chúng ta chọn số lượng bản sao của dữ liệu chúng ta muốn tạo để bảo vệ dữ liệu khỏi các thảm họa hoặc lỗi phần cứng Azure tự động duy trì ba bản sao dữ liệu của chúng ta trong trung tâm dữ liệu Chúng ta có thể chọn nâng cấp lên các tùy chọn khác tốt hơn và hiệu quả hơn như lưu trữ dự phòng địa lý (GRS)

• Bậc truy cập (Access tier): Nó giúp chúng ta lựa chọn giữa các bậc truy cập nóng (Hot access tire) và bậc truy cập lạnh (Cool access tire) Bậc nóng cho phép chúng ta truy cập nhanh hơn vào các blob trong tài khoản lưu trữ so với bậc lạnh nhưng tốn kém hơn Đối với bất kỳ blob mới nào, giá trị mặc định nằm trong bậc nóng

• Mạng ảo (Virtual networks): Nó giúp cung cấp bảo mật bằng cách chỉ cho phép một số (các) mạng ảo mà chúng ta chỉ định có quyền truy cập đến.

Tổng quan về Azure Synapse Analytics

Synapse Analytics là một dịch vụ nền tảng tích hợp từ Microsoft Azure kết hợp các khả năng lưu kho dữ liệu, tích hợp dữ liệu, đường ống ETL, công cụ & dịch vụ phân tích, điều chỉnh (scale) cho khả năng dữ liệu lớn, trực quan hóa, bảng điều khiển

Hình 2.2.4 Kiến trúc Azure Synapse Analytics[11]

Nền tảng này cho phép các yêu cầu phân tích trên toàn doanh nghiệp để ra quyết định Các công cụ, quy trình và kỹ thuật hỗ trợ - khả năng phân tích trên nhiều chiều

(dimensions): Phân tích mô tả & chẩn đoán bằng cách tận dụng khả năng kho dữ liệu của nó, nhờ đó thu thập thông tin chi tiết về doanh nghiệp với sự trợ giúp của các truy

24 vấn T-SQL Nó trao quyền cho việc ra quyết định của tổ chức bằng cách tận dụng khả năng phân tích dự đoán (Predictive analytics) và phân tích theo quy định (Prescriptive analytics) bằng cách sử dụng tích hợp với Apache Spark, Databricks, Stream Analytics.

Tổng quan về Azure RBAC

Azure RBAC là một hệ thống ủy quyền tích hợp giúp quản lý truy cập các tài nguyên Azure Nói chung, RBAC được sử dụng để hạn chế truy cập mạng dựa trên vai trò của các cá nhân trong một tổ chức Nó cho phép người dùng có quyền truy cập vào thông tin cần thiết để hoàn thành công việc của họ và hạn chế họ truy cập thông tin không liên quan đến họ

Dưới đây là ba khái niệm chính của RBAC:

2.2.5.1 Chủ thể Bảo mật - Security Principal (Ai cần truy cập?) Đâu là thực thể cần truy cập vào tài nguyên Azure Thực thể này có thể là:

• Người dùng – User (Người có hồ sơ trong Azure Active Directory)

• Nhóm – group (Tập hợp các người dùng được kết hợp trong Azure Active Directory)

• Nguyên lý Dịch vụ - Service Principals (Đại diện cho các danh tính được sử dụng bởi dịch vụ hoặc ứng dụng Azure để truy cập tài nguyên Azure)

• Quản lý Danh tính - Managed Identity (Cho phép một tài nguyên Azure xác định chính nó với Azure Active Directory mà không cần cung cấp bất kỳ thông tin đăng nhập rõ ràng nào)

2.2.5.2 Phạm vi - Scope (Cái gì được truy cập?)

Sau khi chúng ta đã xác định những ai cần truy cập vào các tài nguyên, bước tiếp theo là xác định những tài nguyên cần được truy cập bởi họ

Phạm vi chỉ ra tài nguyên hoặc nhóm tài nguyên mà các chủ thể bảo mật có quyền truy cập Ví dụ, truy cập vào các dịch vụ ứng dụng nằm trong một nhóm tài nguyên cụ thể

Trong Azure, phạm vi có thể được xác định như sau:

• Nhóm Quản lý (Management Group),

• Nhóm Tài nguyên (Resource Group)

2.2.5.3 Định nghĩa vai trò - Role Definition (Cách truy cập?) Định nghĩa vai trò là một tập hợp các quyền / hành động mà một chủ thể bảo mật sẽ có thể thực hiện trên phạm vi xác định Nói cách khác, định nghĩa vai trò xác định loại hoạt động (đọc, ghi và xóa) có thể được thực hiện bởi chủ thể bảo mật (security principal)

Azure có gần 140+ vai trò được tích hợp sẵn Tuy nhiên, bốn vai trò tích hợp cơ bản như sau:

• Chủ sở hữu – Owner: Chủ thể bảo mật có toàn quyền truy cập vào Phạm vi với quyền ủy quyền truy cập cho người khác

• Người đóng góp – Contributor: Có tất cả các đặc quyền tương tự như vai trò 'Chủ sở hữu' Nhưng họ không thể ủy quyền truy cập cho người khác

• Người đọc – Reader: Có thể xem các tài nguyên Azure hiện có

• Quản trị viên truy cập người dùng - User Access Administrator: Cho phép quản lý quyền truy cập của người dùng để quản lý tài nguyên

Azure cho phép chúng ta tạo các vai trò tùy chỉnh, điều này có thể hữu ích khi các vai trò tích hợp không phù hợp hoặc cụ thể với nhu cầu của tổ chức.[15]

THỰC NGHIỆM

Mục tiêu

Bài thực nghiệm này nhằm mục đích triển khai một kiến trúc Data Mesh trên nền tảng Microsoft Azure để quản lý và phân phối dữ liệu trong một môi trường doanh nghiệp phức tạp Thực nghiệm sẽ tập trung vào việc áp dụng các nguyên tắc của Domain Driven Design và xây dựng một hệ thống dữ liệu phân tán, linh hoạt và an toàn Đồng thời đánh giá tính khả thi và hiệu quả của kiến trúc Data Mesh trên nền tảng Azure thông qua các tiêu chí cụ thể: a Xác định tính hiệu quả của Data Mesh trong việc quản lí và phân phối dữ liệu: Đánh giá khả năng của Data Mesh trong việc cung cấp dữ liêu đúng lúc, đúng chỗ và đúng đối tượng sử dụng trong môi trường Azure b Đánh giá tác động của Data Mesh đến quy trình phân tích dữ liệu: Nghiên cứu Data Mesh hỗ trợ quy trình phân tích dữ liệu từ việc thu thập, làm sạch, xử lí đến trực quan hóa dữ liệu và ra quyết định c Xây dựng và kiểm tra hệ thống dự đoán hỗ trợ ra quyết định: Phát triển một hệ thống dự đoán dựa trên Data Mesh và kiểm tra hiệu quả của hệ thống này cho việc hỗ trợ ra quyết định chiến lược cho doanh nghiệp

Mô tả thực nghiệm

Chi tiết quá trình thực nghiệm nhằm đánh giá hiệu suất quả của kiến trúc Data Mesh trên nền tảng Azure Thực nghiệm sẽ bao gồm những bước sau:

1 Lựa chọn môi trường thực nghiệm: Nhóm sẽ sử dụng nền tảng Azure để triển khai kiến trúc Data Mesh Azure cung cấp nhiều công cụ và dịch vụ hỗ trợ cho việc quản lý và phân phối dữ liệu

2 Chuẩn bị dữ liệu thực nghiệm: Nhóm sẽ thu thập và chuẩn bị một tập dữ liệu đa dạng để đảm bảo tính đại diện và khả năng kiểm tra hiệu suất của Data Mesh

3 Thiết kế kiến trúc Data Mesh: Nhóm sẽ xây dựng kiến trúc Data Mesh dựa trên các nguyên tắc của nó, bao gồm việc phân chia dữ liệu thành các domain cụ thể, sữ dụng các sản phẩm dữ liệu độc lập cần thiết như Azure Data Lake, Azure Synapse Analytics và Azure Data Factory

4 Phân tích dữ liệu: Sau khi Data Mesh được triển khai, Nhóm sẽ tiến hành phân tích dữ liệu nhằm đánh giá hiệu suất và hiệu quả kiến trúc Quá trình phân tích sẽ bao gồm lấy data từ kiến trúc, sau đó xử lý và phân tích bằng các công cụ azure

5 Trực quan hóa dữ liệu: Nhóm sẽ sử dụng công cụ trực quan là Power BI để kết nối tới dữ liệu của kiến trúc Data Mesh Việc này giúp hiểu rõ hơn về dữ liệu của các doanh nghiệp và trực quan nó minh bạch và rõ ràng hơn

6 Xây dựng hệ thống dự đoán và hỗ trợ ra quyết định: Dựa trên dữ liệu đã phân tích, nhóm sẽ phát triển hệ thống dự đoán nhằm hỗ trợ ra quyết định

Hệ thống sử dụng mô hình học máy và được hiện thì qua Streamlit việc dự đoán doanh số bán hàng.

Môi trường thực nghiệm

Môi trường thực nghiệm được sử dụng để triển khai và đánh giá kiến trúc Data Mesh trên nền tảng Azure Môi trường thực nghiệm sẽ bao gồm các thành phần phần cứng và phần mềm cụ thể, cũng như các dịch vụ azure sử dụng a Hạ tầng phần cứng:

- Máy chủ: sử dụng các máy ảo (virtual machine) trên Azure thông qua các thông số kĩ thuật cụ thể như CPU, RAM và dung lượng lưu trữ đảm bảo quá trình lưu trữ dữ liệu

- Mạng: Hệ thống mạng được cấu hình để tối ưu hóa việc truyền tải dữ liệu giữa các thành phần trong kiến trúc Data Mesh Azure Virtual Network sẽ được sử dụng để tạo một mạng lưới an toàn và hiệu quả b Nền tảng phần mềm:

- Hệ điều hành: Sử dụng hệ điều hành Windows

- Công cụ phát triển: Sử dụng Visual studio Code, Power BI, Azure Synapse Analytics cho quá trình phát triển và triển khai ứng dụng c Các dịch vụ Azure được sử dụng:

- Azure Data Lake Storage: dùng để lưu trữ dữ liệu lớn với khả năng mở rộng và chi phí thấp, hỗ trợ cả dữ liệu có cấu trúc và phi cấu trúc

- Azure Synapse Analytics: dịch vụ phân tích tích hợp giúp xử lý dữ liệu lớn, cung cấp khả năng phân tích thời gian thực và hỗ trợ các mô hình học máy

- Azure Data FActory: dùng để tạo và quản lý các nguồn dữ liệu (Data Pipelines) giúp di chuyển và chuyển đổi dữ liệu giữa các dịch vụ trong Data Mesh

- Power BI : công cụ trực quan hóa dữ liệu giúp tạo các báo cáo và bảng điều khiển tương tác và ra quyết định dựa trên dữ liệu d Bảo mật và quản lý

- Azure Active Directory: Dịch vụ quản lý danh tính và truy cập bảo vệ dữ liệu và ứng dụng

Môi trường thực nghiệm được thiết kế để đảm bảo tính khả thi và hiệu quả của kiến trúc Data Mesh trên nền tảng Azure, đồng thời cung cấp công cụ và dịch vụ cần thiết để hỗ trợ quá trình triển khai và đánh giá.

Dữ liệu thực nghiệm

Bộ dữ liệu trong quá trình thực nghiệm bao gồm cấu trúc, nguồn gốc và các đặc điểm quan trọng của tập dữ liệu Bộ dữ liệu bao gồm thông tin lịch sử của 45 của hàng thuộc các khu vực khác nhau, với nhiều loại dữ liệu khác nhau như thông tin cửa hàng, các sự kiện khuyến mãi và các hoạt động khu vực

2.3.4.1 Nguồn gốc của dữ liệu

Bộ dữ liệu cung cấp bao gồm các thông tin lịch sử bán hàng từ năm 2010 đến

2012 cho 45 cửa hàng với các khu vực khác nhau Bộ dữ liệu được tổ chức thành 3 bảng chính trong tệp Excel: Stores, Features và Sales

- Bảng Stores: cung cấp thông tin về 45 cửa hàng bao gồm loại và kích thước của cửa hàng

● Store: Thứ tự cửa hàng

● Size: Kích thước cửa hàng

- Bảng Features: Chứa các dữ liệu bổ sung liên quan đến cửa hàng, bộ phận và các hoạt động khu vực theo từng tuần

● Store: Thứ tự cửa hàng

● Date: Ngày, biểu thị tuần

● Temperature: Nhiệt độ trung bình trong khu vực

● Fuel_Price: Giá nhiên liệu trong khu vực

● MarkDown1-5: Dữ liệu ẩn danh liên quan đến các đợt giảm giá khuyến mãi Dữ liệu MarkDown chỉ có sẵn sau tháng 11 năm 2011 và không có sẵn cho tất cả các cửa hàng vào mọi thời điểm Giá trị thiếu được đánh dấu bằng NA

● CPI: Chỉ số giá tiêu dùng

● Unemployment: Tỷ lệ thất nghiệp

● IsHoliday: Biểu thị tuần có phải là tuần lễ đặc biệt hay không

- Bảng Sales: Dữ liệu lịch sử bán hàng, bao gồm doanh thu theo tuần trong từng bộ phận trong từng ngày 05/02/2010 đến 01/11/2012

● Store: Số thứ tự cửa hàng

● Dept: Số thứ tự bộ phận

● Date: Ngày, biểu thị tuần

● Weekly_Sales: Doanh thu hàng tuần của bộ phận cụ thể trong cửa hàng

● IsHoliday: Biểu thị tuần có phải là tuần lễ đặc biệt hay không

2.3.4.3 Các đặc điểm quan trọng của tập dữ liệu

● Dữ liệu giảm giá (MarkDowns): Các sự kiện giảm giá khuyến mãi được tổ chức trước các ngày lễ lớn như Super Bowl, Labor Day, Thanksgiving và Christmas Các tuần lễ này được đánh giá cao gấp năm lần so với các tuần không phải là tuần lễ đặc biệt trong quá trình đánh giá

● Dữ liệu thời tiết và kinh tế: Bao gồm các yếu tố như nhiệt độ, giá nhiên liệu, chỉ số giá tiêu dùng (CPI) và tỷ lệ thất nghiệp, giúp đánh giá tác động của các yếu tố bên ngoài đến doanh thu bán hàng

● Dữ liệu bán hàng theo tuần: Cung cấp cái nhìn chi tiết về doanh thu hàng tuần của từng bộ phận trong từng cửa hàng, giúp phân tích xu hướng và đưa ra các dự đoán cho tương lai

2.3.4.4 Mục tiêu phân tích dữ liệu

● Dự đoán doanh thu hàng tuần cho từng bộ phận trong từng cửa hàng trong năm tiếp theo: Sử dụng dữ liệu lịch sử để dự đoán doanh thu trong tương lai

● Mô hình hóa tác động của các đợt giảm giá trong các tuần lễ đặc biệt: Đánh giá ảnh hưởng của các sự kiện giảm giá đến doanh thu bán hàng

● Đưa ra các khuyến nghị dựa trên những hiểu biết rút ra được, ưu tiên các hành động có tác động lớn nhất đến kinh doanh: Đề xuất các chiến lược và hành động cụ thể nhằm tối ưu hóa doanh thu và hiệu quả kinh doanh

Quy trình thực nghiệm

Quy trình thực nghiệm nhằm đánh giá hiệu quả của kiến trúc Data Mesh trên nền tảng Azure Quy trình thực hiện được chia làm các bước cụ thể từ thiết kế kiến trúc, triển khai, phân tích dữ liệu, trực quan hóa và xây dựng hệ thống dự đoán

Nhóm xác định các Domain dữ liệu chính dựa trên cấu trúc tổ chức dữ liệu, Mỗi domain chịu trách nhiệm quản lý dữ liệu liên quan và cung cấp các sản phẩm dữ liệu độc lập

Hình 2.3.5.1 Kiến trúc data mesh

Hình trên là thiết kế miền (domain) của kiến trúc Data Mesh được triển khai trên nền tảng Azure Kiến trúc này bao gồm hai miền chính: Sale Domain và Stores Domain, mỗi miền được triển khai và quản lý độc lập a Azure Subscription: Azure for Student

Azure Subscription: Sử dụng gói Azure for Student để triển khai và quản lý các dịch vụ Azure cần thiết cho hệ thống Data Mesh b Các thành phần chính của kiến trúc:

● Azure Synapse Analytics (SaleDev): Dịch vụ phân tích dữ liệu tích hợp, cung cấp khả năng xử lý dữ liệu lớn và hỗ trợ phân tích dữ liệu cho miền Sale

● Sale Data Plane: Lớp dữ liệu trong miền Sale, được tổ chức theo các cấp độ dữ liệu sau: o Bronze: Lưu trữ dữ liệu thô (raw data) từ các nguồn khác nhau, chưa qua xử lý o Silver: Dữ liệu đã được làm sạch và chuyển đổi (cleaned and transformed data), chuẩn bị cho phân tích o Gold: Dữ liệu đã qua xử lý và sẵn sàng cho phân tích chuyên sâu

(processed and analytics-ready data)

● Azure Synapse Analytics (StoreDev): Dịch vụ phân tích dữ liệu tích hợp, cung cấp khả năng xử lý dữ liệu lớn và hỗ trợ phân tích dữ liệu cho miền Stores

● Stores Data Plane: Lớp dữ liệu trong miền Stores, được tổ chức theo các cấp độ dữ liệu: o Bronze: Lưu trữ dữ liệu thô (raw data) từ các nguồn khác nhau, chưa qua xử lý o Dữ liệu đã được làm sạch và chuyển đổi (cleaned and transformed data), chuẩn bị cho phân tích o Gold: Dữ liệu đã qua xử lý và sẵn sàng cho phân tích chuyên sâu

(processed and analytics-ready data)

2.3.5.2 Triển khai mô hình kiến trúc a Quản trị phân tán (Federated Governance)

Việc quản trị phân tán đóng vai trò quan trọng trong việc duy trì sự ổn định và bảo mật của hệ thống Bảng dưới đây liệt kê các nhóm người dùng chính, vai trò của họ và thông tin liên hệ:

Hình 2.3.5.2a Hiển thị thông tin nhóm người dùng

Nhóm quản trị phân tán chịu trách nhiệm cung cấp cơ sở hạ tầng cũng như giám sát và duy trì độ tin cậy của hệ thống b Domain Sales

Domain Sale bao gồm các người dùng và nhóm phát triển chịu trách nhiệm cho việc phát triển và quản lý các luồng dữ liệu ETL/ELT:

Hình 2.3.5.2b Hiển thị thông tin nhóm chịu trách nhiệm Domain Sales c Domain Stores

Domain Sale bao gồm các người dùng và nhóm phát triển chịu trách nhiệm cho việc phát triển và quản lý các luồng dữ liệu ETL/ELT:

Hình 2.3.5.2c Hiển thị thông tin nhóm chịu trách nhiệm Domain Stores d Quy trình triển khai kiến trúc

- Thiết lập Azure Active Directory (AAD): Thiết lập và quản lý Microsoft Entra ID để quản lý danh tính và quyền truy cập trong Azure

- Quản lý người dùng và nhóm trong Azure AD

Quản lý người dùng và nhóm trong Azure Active Directory (Azure AD) là một phần quan trọng trong việc thiết lập và duy trì môi trường Data Mesh an toàn và hiệu quả Dưới đây là hướng dẫn chi tiết về cách tạo và quản lý người dùng cũng như các nhóm trong Azure AD

● Bước 1: Đăng nhập vào Azure Portal: Truy cập Azure Portal Đăng nhập bằng tài khoản quản trị viên

● Bước 2: Truy cập Azure Active Directory o Trong Azure Portal, tìm kiếm "Azure Active Directory" trên thanh tìm kiếm hoặc chọn từ menu bên trái o Chọn "Azure Active Directory" để mở bảng điều khiển

● Bước 3: Tạo người dùng trong Azure AD o Trong bảng điều khiển Azure AD, chọn "Users" từ menu bên trái o Chọn "New user" để tạo người dùng mới o Nhập các thông tin cần thiết cho người dùng mới: User name, Name, Password, Groups o Nhấn "Create" để hoàn tất việc tạo người dùng mới

Hình 2.3.5.2d Hiển thị thông tin người dùng trên Azure AD

● Bước 4: Tạo nhóm trong Azure AD o Trong bảng điều khiển Azure AD, chọn "Groups" từ menu bên trái o Chọn "New group" để tạo nhóm mới o Nhập các thông tin cần thiết cho nhóm mới: Group type, Group name, Group description

36 o Nhấn "Create" để hoàn tất việc tạo nhóm mới

Hình 2.3.5.2e Hiển thị thông tin nhóm trên Azure AD

● Bước 5: Phân quyền và tổ chức công việc o Gán vai trò Azure AD: o Truy cập "Azure Active Directory" -> "Roles and administrators" o Chọn vai trò cần gán, sau đó nhấp vào "Add assignment" o Chọn người dùng hoặc nhóm để gán vai trò

Sử dụng Azure RBAC (Role-Based Access Control) o Azure RBAC cho phép bạn quản lý quyền truy cập vào tài nguyên Azure bằng cách gán vai trò cho người dùng, nhóm và dịch vụ o Truy cập tài nguyên Azure cần phân quyền (ví dụ: Storage Account, Synapse Workspace) o Chọn "Access control (IAM)" từ bảng điều khiển bên trái o Nhấp vào "Add role assignment" và chọn vai trò cần gán o Chọn người dùng hoặc nhóm để gán vai trò a Access Control của Domain Sales

Hình 2.3.5.2f Hiển thị thông tin quyền kiểm soát truy cập Domain Sales

Ngày đăng: 19/11/2024, 08:51

HÌNH ẢNH LIÊN QUAN

Hình 2.1.1. Những nguyên tắc cơ bản của kiến trúc data mesh [4] - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.1.1. Những nguyên tắc cơ bản của kiến trúc data mesh [4] (Trang 21)
Hình 2.3.5.1. Kiến trúc data mesh - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.1. Kiến trúc data mesh (Trang 48)
Hình 2.3.5.2f. Hiển thị thông tin quyền kiểm soát truy cập Domain Sales - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.2f. Hiển thị thông tin quyền kiểm soát truy cập Domain Sales (Trang 53)
Hình 2.3.5.2h. Hiển thị thông tin các tài nguyên trong Azure Synapse Analytics - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.2h. Hiển thị thông tin các tài nguyên trong Azure Synapse Analytics (Trang 56)
Hình 2.3.5.2m. Quá trình dữ liệu được xử lý và đưa vào lớp gold - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.2m. Quá trình dữ liệu được xử lý và đưa vào lớp gold (Trang 59)
Hình 2.3.5.2o. Quy trình đưa dữ liệu nguồn vào Bronze của domain Sales - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.2o. Quy trình đưa dữ liệu nguồn vào Bronze của domain Sales (Trang 61)
Hình 2.3.5.2p. Quá trình dữ liệu được xử lý và đưa vào lớp gold - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.2p. Quá trình dữ liệu được xử lý và đưa vào lớp gold (Trang 61)
Hình 2.3.5.3.2o. Biểu đồ trung bình về giá nhiên liệu, CPI, thất nghiệp, size - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.3.2o. Biểu đồ trung bình về giá nhiên liệu, CPI, thất nghiệp, size (Trang 86)
Hình 2.3.5.4a. Hiển thị đường dẫn dữ liệu trên Microsoft Azure - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.4a. Hiển thị đường dẫn dữ liệu trên Microsoft Azure (Trang 87)
Hình 2.3.5.5i. Ma trận tương quan - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.5i. Ma trận tương quan (Trang 97)
Hình 2.3.5.5j. Kết nối tạo database và table. và thực hiện thêm dữ liệu vào - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.5j. Kết nối tạo database và table. và thực hiện thêm dữ liệu vào (Trang 99)
Hình 2.3.5.5q.  Kết quả nhận được sau khi thay đổi các tham số - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.5q. Kết quả nhận được sau khi thay đổi các tham số (Trang 103)
Hình 2.3.5.5r. Hiển thị kết quả dự đoán TH1 - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.5r. Hiển thị kết quả dự đoán TH1 (Trang 104)
Hình 2.3.5.5r. Hiển thị kết quả dự đoán TH3 - Đồ án tốt nghiệp Kỹ thuật dữ liệu: Xây dựng Data mesh cho chuỗi bán lẻ phục vụ hỗ trợ ra quyết định
Hình 2.3.5.5r. Hiển thị kết quả dự đoán TH3 (Trang 108)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w