Co to jest siatka danych?
Siatka danych to wzorzec architektury do implementowania platform danych przedsiębiorstwa w dużych i złożonych organizacjach. Siatka danych pomaga skalować wdrażanie analiz poza jedną platformę i jeden zespół wdrożeniowy.
Tło
Potrzeba analizy nie jest nowa. Organizacje zawsze musiały analizować wydajność biznesową i wykonywać je przy użyciu komputerów od czasu ich wprowadzenia. Około lat 80., organizacje zaczęły tworzyć rozwiązania magazynowania danych przy użyciu baz danych specjalnie do obsługi decyzji. Te rozwiązania do magazynowania danych dobrze obsługiwały organizacje przez długi czas.
Jednak w miarę zmian biznesowych i generowania bardziej zróżnicowanych danych rozwiązania magazynowania danych korzystające z relacyjnych baz danych mogą nie zawsze być najlepszym rozwiązaniem. W 2000 roku dane big data stały się wspólnym terminem. Firmy przyjęły nowe rozwiązania, które umożliwiają analizę dużych ilości różnorodnych danych, które mogą być generowane z dużą szybkością. Obejmuje to technologie, takie jak magazyny data lake i rozwiązania skalowane w poziomie, które analizują duże ilości danych.
W ostatnich latach wiele organizacji pomyślnie używa nowoczesnych wzorców architektonicznych i analitycznych, które łączą technologie magazynowania danych i najnowsze technologie danych big data.
Jednak niektóre organizacje napotykają problemy podczas wdrażania rozwiązań analitycznych korzystających z wzorców analitycznych. Te rozwiązania są często implementowane jako rozwiązania monolityczne, gdzie jeden zespół jest dostawcą platformy, a zespół przeprowadza integrację danych. Mniejsze organizacje i organizacje, które mają wysoki stopień centralizacji z perspektywy konfiguracji zespołu, mogą używać jednego zespołu. Jednak większa organizacja używająca tylko jednego zespołu często tworzy wąskie gardło. To wąskie gardło powoduje ogromną listę prac, co powoduje, że część organizacji oczekuje na usługi integracji danych i rozwiązania analityczne.
Ten wzorzec staje się bardziej powszechny, ponieważ organizacje przyjmują nowoczesne rozwiązania do nauki o danych. Wiele nowoczesnych rozwiązań do nauki o danych wymaga więcej danych niż tradycyjne rozwiązania do analizy biznesowej w przeszłości.
Niedawny przełącznik do korzystania z mikrousług jako wzorca tworzenia aplikacji to kolejny czynnik długich list prac związanych z integracją danych, ponieważ zwiększa liczbę źródeł danych.
Jeden zespół obsługujący wszystkie pozyskiwanie danych na jednej platformie w dużej organizacji może być również problematyczny. Jeden zespół rzadko ma ekspertów dla każdego źródła danych. Większość organizacji jest zdecentralizowana i dystrybuowana z perspektywy biznesowej. Różne jednostki biznesowe i działy obsługują różne części operacji biznesowej, dlatego eksperci danych są zwykle rozmieszczone w różnych sektorach.
Wprowadzono wzorzec o nazwie siatka danych w celu rozwiązania tych problemów. Celem siatki danych jest umożliwianie rozproszonym zespołom współpracy i udostępnianie informacji w sposób zdecentralizowany i zwinny.
Siatka danych to wzorzec techniczny, który również wymaga zmiany organizacyjnej. Korzyści wynikające z podejścia siatki danych są osiągane przez zaimplementowanie zespołów wielodyscyplinarnych, które publikują i zużywają produkty danych.
Poniżej przedstawiono podstawowe pojęcia dotyczące rozumienia architektury siatki danych:
- Domeny danych
- Produkty danych
- Platformy samoobsługowe
- Nadzór federacyjny
Domeny danych
Domeny danych są podstawą siatki danych. Koncepcja domen danych pochodzi z dziedziny Projektowania opartego na domenach (DDD), modelu często używanego w tworzeniu oprogramowania do modelowania złożonych rozwiązań oprogramowania. W siatkach danych domena danych to sposób definiowania granic wokół danych przedsiębiorstwa. Domeny mogą się różnić w zależności od organizacji, a w niektórych przypadkach można definiować domeny wokół organizacji. W innych przypadkach można modelować domeny danych na podstawie procesów biznesowych lub systemów źródłowych.
Istnieją trzy aspekty domen danych:
Wybrane granice sprawiają, że są własnością długoterminową. Istnieją one przez długi czas i zidentyfikowały właścicieli.
Domeny powinny być zgodne z rzeczywistością, a nie tylko teoretycznymi pojęciami.
Domeny muszą mieć niepodzielność. Jeśli obszary nie mają relacji ze sobą, nie łącz ich w domenie razem.
Aby uzyskać więcej informacji na temat domen danych i sposobu ich definiowania, zobacz Domeny danych.
Produkty danych
Produkty danych są kolejnym ważnym składnikiem siatki danych. Produkty danych mają na celu podejście produktów do świata danych. Aby produkt danych zakończył się powodzeniem, musi zapewnić długoterminową wartość biznesową zamierzonym użytkownikom. W siatkach danych produkt danych obejmuje dane, zasoby kodu, metadane i powiązane zasady. Produkty danych mogą być dostarczane jako interfejs API, raport, tabela lub zestaw danych w usłudze Data Lake.
Pomyślny produkt danych musi być:
- Możliwe do użycia: Produkt musi mieć użytkowników spoza bezpośredniej domeny danych.
- Cenne: Produkt musi utrzymywać wartość w czasie. Jeśli nie ma długoterminowej wartości, nie może ona zakończyć się powodzeniem.
- Wykonalne: Produkt musi być wykonalny. Jeśli nie możesz go utworzyć, produkt nie może być sukcesem. Produkt musi być możliwy zarówno z punktu widzenia dostępności danych, jak i technicznego punktu widzenia.
Zasoby kodu produktu danych zawierają kod, który go generuje i kod, który go dostarcza. Zasoby kodu obejmują również potoki używane do tworzenia produktu i końcowego raportu produktu.
Aby uzyskać więcej informacji na temat produktów danych, zobacz Produkty danych analizy w skali chmury na platformie Azure.
Aby uzyskać szczegółowe wskazówki dotyczące korzystania z siatki danych, zobacz Co to jest produkt danych?.
Platformy samoobsługowe
Podstawowym elementem siatki danych jest platforma, która umożliwia domenom danych tworzenie własnych produktów danych. Domeny danych muszą definiować produkty danych przy użyciu narzędzi i procesów, które są istotne dla użytkowników bez silnej zależności od centralnej platformy lub centralnego zespołu platformy. W siatkach danych masz autonomiczne zespoły tworzące produkty autonomiczne i zarządzające nimi.
Korzystając z decentralizacji i dopasowania do użytkowników biznesowych, którzy rozumieją dane, pamiętaj o uogólnieniach, którzy również pracują na platformie. Ponieważ masz uogólnień, nie możesz mieć wyspecjalizowanych narzędzi, które wymagają specjalistycznej wiedzy, aby działać jako podstawowe podstawy platformy opartej na siatkach.
Możesz pomyślnie wdrożyć platformę samoobsługową, wdrażając rozwiązania opisane w temacie Zagadnienia dotyczące projektowania dla samoobsługowych platform danych.
Nadzór federacyjny
W przypadku wdrażania samoobsługowej rozproszonej platformy danych należy podkreślić większy nacisk na ład. Brak ładu prowadzi do silosów i duplikowania danych w domenach danych. Federuj ład, ponieważ osoby, które rozumieją potrzebę utrzymania ładu, istnieją w domenie dopasowane zespoły i między właścicielami danych.
Aby utworzyć ład federacyjny, zaimplementuj zautomatyzowane zasady dotyczące zarówno platformy, jak i potrzeb związanych z danymi. Użyj wysokiego stopnia automatyzacji do testowania i monitorowania. Wdrożenie strategii implementacji opartej na kodzie w celu obsługi standardów, zasad, produktów danych i wdrażania platformy jako kodu.
Aby uzyskać więcej informacji na temat implementowania aspektów ładu federacyjnego, zobacz Omówienie ładu danych.
Podsumowanie
Siatka danych może być skutecznym sposobem implementacji platform danych przedsiębiorstwa, ale nie jest najlepszym rozwiązaniem dla wszystkich organizacji. Siatka danych wymaga autonomicznych zespołów, które mogą działać niezależnie. Siatka danych działa najlepiej w dużych i złożonych organizacjach, które mają niezależne jednostki biznesowe i muszą skalować wdrożenie analizy poza jedną platformą i zespołem wdrożeniowym.
W przypadku korzystania z siatki danych należy zachować szczególną ostrożność podczas implementowania ładu, aby nie tworzyć silosów. Zawsze należy myśleć o produktach dla danych w centrum implementacji, aby zapewnić sukces.