Data mesh to stosunkowo nowe podejście do architektury danych, które skupia się na dekompozycji monolitycznych systemów przetwarzania danych na bardziej rozproszone, zdecentralizowane i skalowalne struktury. Celem tego podejścia jest umożliwienie lepszego zarządzania danymi w dużych organizacjach, zwłaszcza tych, które mają do czynienia z ogromnymi ilościami różnorodnych informacji rozproszonych po wielu działach lub jednostkach biznesowych.
Kluczowe cechy data mesh
- Domenowa własność danych: dane są zarządzane przez poszczególne działy lub zespoły, które są ekspertami w swojej dziedzinie. Dzięki temu każdy zespół jest odpowiedzialny za jakość, dostępność i bezpieczeństwo danych, które generuje i wykorzystuje.
- Samodzielne dostarczanie danych: zespoły mają większą autonomię w dostarczaniu danych, co oznacza, że mogą one decydować, jakie technologie i narzędzia wykorzystać do przetwarzania i udostępniania danych.
- Standardy interoperacyjności: mimo decentralizacji, istnieją ustalone standardy i protokoły, które umożliwiają łatwą wymianę i integrację danych między różnymi dziedzinami i zespołami.
- Skalowalność i elastyczność: architektura data mesh jest zaprojektowana tak, aby łatwo skalować się wraz ze wzrostem ilości danych i złożoności organizacji.
Data mesh jest odpowiedzią na wyzwania związane z tradycyjnymi, centralizowanymi systemami zarządzania danymi, które często stają się zbyt skomplikowane i nieefektywne, gdy firma rośnie i ewoluuje. Przez rozproszenie zarządzania i odpowiedzialności za dane, organizacje mogą lepiej wykorzystać swoje zasoby, szybciej reagować na zmiany i bardziej efektywnie wykorzystywać dane w procesach decyzyjnych.
Każdy produkt danych działa jak niezależny węzeł w sieci, mając własną domenę i kontekst. Te węzły są ze sobą połączone, co umożliwia wymianę i integrację danych między różnymi dziedzinami w organizacji. Sieciowa natura data mesh pozwala na łatwe skalowanie i elastyczność w zarządzaniu danymi, ponieważ nowe zespoły i działy mogą być dodawane do sieci bez zakłócania istniejącej infrastruktury danych.
Charakterystyczne aspekty
Data mesh przyjmuje również podejście „Product Thinking” do danych, gdzie dane traktowane są jako produkty, które mają swoich konsumentów i muszą spełniać ich potrzeby. Każdy produkt danych istnieje w ograniczonym kontekście i może być autonomiczny, zoptymalizowany do odczytu i standaryzowany.
W data mesh istotne jest również czyszczenie danych, które jest odpowiedzialnością zespołów domenowych. Dane są zazwyczaj importowane w swojej pierwotnej surowej i nieskategoryzowanej formie, a następnie poddawane są procesom takim jak strukturyzacja, deduplikacja czy poprawianie błędów.
W przypadku analizy danych zespoły domenowe przetwarzają i agregują swoje dane analityczne wraz z odpowiednimi produktami danych z innych dziedzin, korzystając z narzędzi takich jak Jupyter Notebooks, Presto, Looker, Tableau, Metabase czy Redash.
Technologia jest ważnym elementem data mesh, pełniąc rolę ułatwiacza. Przykładem platformy danych, która może być wykorzystywana w ramach data mesh jest Databricks Lakehouse Platform, oparta na Apache Spark. Databricks umożliwia między innymi import danych, ich czyszczenie, transformację i eksploracyjną analizę danych.
Istnieje wiele różnych sposobów wdrażania architektury data mesh. Oto wybór typowych stosów technologicznych, które są często wykorzystywane.
- Google Cloud BigQuery: narzędzie do dużych zbiorów danych, oferujące szybkie analizy SQL i przechowywanie danych.
- AWS S3 i Athena: AWS S3 to usługa przechowywania w chmurze, a Athena to interaktywny serwis zapytań, który ułatwia analizowanie danych w S3 za pomocą standardowego SQL.
- Azure Synapse Analytics: zintegrowana platforma analityczna, która łączy eksplorację danych, magazyn danych i analizy Big Data.
- dbt i Snowflake: dbt (Data Build Tool) służy do transformacji danych w magazynach danych, a Snowflake to platforma przechowywania danych w chmurze.
- Databricks: platforma analityczna oparta na Apache Spark, umożliwiająca analizę danych, uczenie maszynowe i inżynierię danych.
- MinIO i Trino: MinIO to wysokowydajne rozwiązanie do przechowywania obiektów, a Trino to silnik zapytań dystrybuowanych.
- SAP: rozwiązania do zarządzania przedsiębiorstwem, które mogą być wykorzystane w architekturze data mesh.
- Kafka i RisingWave: Apache Kafka to platforma do przetwarzania strumieniowego danych, a RisingWave to nowy silnik analityczny.
- Starburst Enterprise (TBD): rozwiązanie oparte na Trino, zapewniające szybki dostęp do danych.
To tylko niektóre z dostępnych narzędzi i platform, które mogą być wykorzystywane do wdrażania architektury data mesh w organizacji. Ważne jest, aby dobrać narzędzia dopasowane do konkretnych potrzeb i wymagań danej organizacji.
Czytaj dalej: