Chương 1: CƠ SỞ LÝ THUYẾT 2. 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ể.
4 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ọ. 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. 5 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. 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.
6 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. 7 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ể.