Kontakty dot. danych
Obowiązki są dystrybuowane między domenami w architekturze federacyjnej, co może utrudnić nadzorowanie zależności i uzyskiwanie szczegółowych informacji o użyciu danych. Kontrakty danych mogą pomóc w uzyskaniu szczegółowych informacji o użyciu danych, ponieważ udostępniają informacje o tym, kto jest właścicielem każdego produktu danych. Kontrakty danych ułatwiają ustawianie standardów i pewnie zarządzanie potokami danych. Są one niezbędne do niezawodnego zarządzania danymi, udostępniając informacje na temat:
- Które produkty danych są używane.
- Którzy użytkownicy zużywają produkty danych.
- Jaki cel prowadzi użytkowników do korzystania z określonych produktów danych.
Dystrybucja i użycie danych mają dwa wymiary: problemy techniczne i problemy biznesowe. Kwestie techniczne obejmują obsługę potoków danych i wzajemne oczekiwania dotyczące stabilności danych. Problemy biznesowe obejmują umowy celowe udostępniania danych, które definiują cele użycia, prywatności i celu, w tym wszelkie ograniczenia.
Te dwa wymiary obejmują różne role. Ogólnie rzecz biorąc, należy polegać na właścicieli aplikacji lub inżynierów danych dla kwestii technicznych i właścicieli produktów lub przedstawicieli biznesowych w przypadku problemów biznesowych.
Zasady kontraktów danych
Kontrakty danych są podobne do kontraktów usług lub kontraktów dostarczania danych.
W większej lub rozproszonej architekturze może być trudno nadzorować zmiany. Nadzór można uprościć, wdrażając przechowywanie wersji i zarządzanie zgodnością za każdym razem, gdy masz produkt danych, który jest popularny i powszechnie używany.
Jeśli aplikacje są powiązane, wskazuje wysoki stopień współzależności między aplikacjami w połączeniu. Aplikacje, które uzyskują dostęp do danych z innych aplikacji lub korzystają z nich, zawsze cierpią po połączeniu. Każda zmiana struktury danych może na przykład mieć bezpośredni wpływ na inne aplikacje, które uzyskują dostęp do tych danych lub korzystają z nich. W sytuacjach, w których istnieje wiele aplikacji połączonych ze sobą, często występuje efekt kaskadowy, w którym niewielka zmiana w jednej aplikacji wpływa na wiele innych aplikacji. Ze względu na zwiększone prawdopodobieństwo niezamierzonych efektów po nawet drobnych zmianach wielu architektów i inżynierów oprogramowania unika tworzenia połączonych architektur.
Umowa dotycząca danych gwarantuje zgodność interfejsu i obejmuje warunki świadczenia usługi oraz umowę dotyczącą poziomu usług (SLA). Warunki użytkowania usługi określają, jak można używać danych, takich jak ograniczenie ich używania tylko do programowania, testowania lub produkcji. Umowy SLA opisują wymaganą jakość dostarczania danych i interfejsu. Szczegóły dotyczące jakości, które można określić w umowie SLA, obejmują:
- Czas sprawności
- Współczynniki błędów
- Dostępność
- Wycofanie
- Harmonogram działania
- Numery wersji
Metadane przechwytujące te szczegóły można umieścić pod kontrolą źródła, co umożliwia automatyczne wyzwalanie walidacji i wdrożeń. Aby uzyskać więcej informacji na temat kontroli źródła, zobacz Kontrola źródła w usłudze Azure Data Factory.
Kontrakty danych zapewniają wgląd w sprzęganie i zależności między domenami i aplikacjami. Kontrakt umożliwia również testowanie kontraktu, co gwarantuje, że wszystkie zmiany aplikacji i interfejsu są weryfikowane pod kątem wymagań dotyczących danych użytkowników. Możesz określić, kiedy przepływy danych stają się podatne na zmiany nadrzędnego źródła danych, wykrywając dryf schematu. Aby uzyskać więcej informacji, zobacz Dryf schematu w przepływie danych mapowania.
Kontrakty danych są często częścią struktur pozyskiwania opartych na metadanych. Kontrakty danych można przechowywać w rekordach metadanych w centralnie zarządzanym magazynie metadanych. Z tej centralnej lokalizacji kontrakty danych odgrywają ważną rolę w wielu obszarach pozyskiwania danych, w tym:
- Wykonywanie potoku
- Tworzenie produktu danych
- Sprawdzanie poprawności typu danych
- Schematy
- Standardy współdziałania
- Wersje protokołu
- Domyślne reguły dotyczące brakujących danych
Kontrakty danych obejmują duże ilości metadanych technicznych. Aby udokumentować potoki danych i produkty danych, musisz mieć jasny opis źródeł danych, wszystkie przekształcenia danych zostały poddane i jak ostatecznie dostarczać dane.
W architekturze rozproszonej platforma potoków danych jest dystrybuowana między różne domeny, a domeny są zgodne z typowym sposobem pracy. Ponieważ domeny przetwarzają same dane, kontrola i odpowiedzialność pozostają z nimi, podczas gdy struktura i metadane pozostają pod centralnym nadzorem.
Podczas implementowania metody federacyjnej rozpocznij małą pracę. Zacznij od podstaw, takich jak magazyn metadanych na potrzeby weryfikacji schematu, identyfikatorów przedsiębiorstwa i odwołań do innych zestawów danych w udostępnionym repozytorium metadanych. Dodaj obsługę pochodzenia danych, aby ułatwić wizualizowanie przenoszenia danych. Uruchom procesy i zaimplementuj mechanizmy kontroli na potrzeby weryfikacji jakości danych technicznych.
Wszystkie kontrolki powinny być częścią procedur ciągłej integracji. Przechwyć wszystkie informacje o środowisku uruchomieniowym, w tym metryki i rejestrowanie, i udostępnij te informacje jako część podstaw metadanych w celu uzyskania szczegółowych informacji o stabilności potoku danych. Ta konfiguracja zapewnia pętlę opinii między domenami a centralnym kokpitem zarządzania.
Podczas stabilizacji całego przenoszenia danych przechwyć atrybuty danych (takie jak tabele i kolumny) są używane przez użytkowników danych i używają tych informacji do dalszego skalowania. Te informacje można uwzględnić w centralnie zarządzanym magazynie metadanych. Informacje o użyciu danych umożliwiają wykrywanie zmian powodujących niezgodność i identyfikowanie ich wpływu na producentów danych i konsumentów. Jeśli zestaw danych produktu nie ma użytkowników, możesz zezwolić na wprowadzanie zmian zakłócających działanie. Użyj kontroli źródła (takiej jak Git), aby umożliwić uzgadnianie procesów między dostawcami i konsumentami danych.
Umowy dotyczące udostępniania danych
Umowy dotyczące udostępniania danych to rozszerzenie kontraktów danych. W umowach opisano użycie danych, prywatność i cel, w tym wszelkie ograniczenia. Umowy dotyczące udostępniania danych są niezależne od interfejsu i oferują wgląd w dane używane do określonego celu. Działają one również jako dane wejściowe dla mechanizmów kontroli zabezpieczeń danych. Możesz użyć umowy dotyczącej udostępniania danych, aby określić, które filtry lub zabezpieczenia muszą być stosowane do danych.
Umowy dotyczące udostępniania danych pomagają również zapobiegać nieporozumianiu się nad użyciem danych. Właściciele domeny powinni omawiać udostępnianie danych i problemy z użyciem danych przed udostępnieniem jakichkolwiek danych. Wspólne zrozumienie ma kluczowe znaczenie dla twojej zdolności do regulowania danych i ich użycia oraz zapewnienia, że możesz dostarczać wartość organizacji. Gdy wszyscy właściciele domeny dotrą do wspólnego zrozumienia, upewnij się, że dokumentują je w umowie dotyczącej udostępniania danych. W tej umowie można również rozwiązywać takie obszary jak:
- Jakość danych funkcjonalnych
- Historyzacja
- Zarządzanie cyklem życia danych
- Dalsza dystrybucja danych
Zastosuj klasyfikacje i warunki, takie jak etykiety poufności lub warunki filtrowania, aby zabezpieczyć dane.
Na diagramie poprzedniej sekcji przedstawiono pewne elementy oznaczone przyczepką produktu danych. Przyczepka produktu danych jest składnikiem lub warstwą do wstrzykiwania zasad, takich jak mechanizmy kontroli dostępu do danych lub metody danych wyjściowych użycia danych. Jest to abstrakcja zabezpieczeń, która używa kontraktów danych do obsługi wymuszania zabezpieczeń na danych domeny. Możesz utworzyć przyczepkę produktu danych z repozytorium kontraktów danych jako listę kontroli dostępu (ACL) lub widok bezserwerowy albo utworzyć go przy użyciu zduplikowanego zestawu danych, który wybierzesz i filtrujesz dla określonego użytkownika. Tak czy inaczej celem jest uzyskanie widoków zabezpieczeń z kontraktów danych w pełni zautomatyzowany.
Połącz atrybuty kontraktu danych i dokumentację. Upewnij się, że udostępniasz kontekst semantyczny i relację ze słownikiem, aby użytkownicy mogli zrozumieć, jak wymagania biznesowe przekładają się na rzeczywistą implementację. Jeśli relacja z terminami biznesowymi jest ważna dla organizacji, rozważ zaimplementowanie zasad, takich jak zezwolenie na ustanowienie kontraktów danych tylko po połączeniu wszystkich atrybutów produktu danych z jednostkami terminów biznesowych. Ten typ zasad można również zastosować do zmian kontekstowych, takich jak zmiany relacji lub definicji.
Korzystanie z kontraktów danych
Rozpocznij wolne, gdy zaczniesz używać kontraktów danych. Nie wprowadzaj zbyt wielu zmian jednocześnie; kontrakty danych wymagają zmiany kulturowej, a użytkownicy potrzebują czasu, aby zapoznać się z nimi i zrozumieć znaczenie własności danych. Należy również znaleźć słodkie miejsce między zbyt mało i zbyt wiele atrybutów metadanych w kontraktach danych.
W poniższych krokach opisano proces implementowania kontraktów danych dla organizacji:
- Upewnij się, że potoki danych technicznych są stabilne. Przypadki użycia nie mogą dotrzeć do środowiska produkcyjnego, jeśli potoki przesyłane przez nie występują nieoczekiwane zakłócenia.
- Umieść proste i pragmatyczne procesy w miarę rozpoczynania korzystania z umów o udostępnianiu. Możesz rozpocząć od zaprojektowania prostego formularza lub szablonu w programie Microsoft Forms. Napisz w przejrzystym, zwięzłym języku, który czytelnicy mogą łatwo zrozumieć. Celem tej pierwszej fazy jest zmiana kulturowa i zbieranie wymagań. Upewnij się, że nie komplikujesz rzeczy; zaakceptuj procesy ręczne, ogranicz wymagania dotyczące początkowych metadanych i iteruj, dopóki te wymagania nie będą stabilne.
- Po dokonaniu pierwszych procesów zacznij zastępować formularze ręczne aplikacją internetową, bazą danych i/lub kolejką komunikatów. Centralny zespół ds. ładu w zakresie danych powinien być nadal odpowiedzialny za nadzór w tej fazie. Szczegółowość dostępu do danych w tym momencie jest zazwyczaj zgrubna, koncentrując się na folderach lub plikach. Jeśli to możliwe, użyj interfejsów API REST, aby automatycznie aprowizować zasady dostępu do danych lub listy ACL.
- Umieść właścicieli danych lub stewardów danych odpowiedzialnych za silny przepływ pracy na potrzeby zarządzania zatwierdzeniem. Centralna rola zapewniania ładu danych powinna teraz nadzorować zatwierdzenia tylko z roli zaplecza i regularnie przeglądać wszystkie kontrakty danych. W tym momencie powinien być uruchomiony katalog danych, taki jak Microsoft Purview, który pokazuje wszystkie gotowe do użycia dane. Zwiększ możliwości wymuszania danych i zabezpieczeń, umożliwiając precyzyjne wybieranie i filtrowanie oraz rozważ użycie technik takich jak dynamiczne maskowanie danych, aby zapobiec duplikowaniu danych.
- Na ostatnim etapie wdrażania kontraktu danych wszystko powinno być samoobsługowe i w pełni zautomatyzowane. Zautomatyzowane uczenie maszynowe powinno przewidywać zatwierdzenia danych. Bezpieczne widoki są na przykład automatycznie wdrażane po zatwierdzeniu.
Kontrakty danych są stosunkowo nowym, ale ważnym dodatkiem do architektury siatki danych, zapewniając przejrzystość użycia danych i zależności. Skoncentruj się na stabilności technicznej i standaryzacji, gdy najpierw zaczniesz korzystać z kontraktów danych, a następnie korzystaj z procesu zdobytego doświadczenia podczas iteracji. Powoli twórz i automatyzuj ład danych, aby nie zwiększać nakładu pracy organizacji.
W ramach dokumentacji umowy dotyczącej danych potrzebne są również warunki umów dotyczących usług i poziomu usług (SLA). Umowy SLA umożliwiają przedstawienie wymagań dotyczących jakości dostarczania danych i interfejsów, w tym czasu pracy, współczynników błędów i dostępności. Umowy SLA mogą również obejmować wszelkie wymagania dotyczące wycofania, planu działania i numeru wersji, które należy zdefiniować.