Strefy i kontenery usługi Data Lake

Ważne jest zaplanowanie struktury danych przed przejściem ich do magazynu data lake. Jeśli masz plan, możesz efektywnie używać zabezpieczeń, partycjonowania i przetwarzania.

Aby zapoznać się z omówieniem magazynów typu data lake, zobacz Omówienie usługi Azure Data Lake Storage na potrzeby analizy w skali chmury.

Omówienie

Trzy konta usługi Data Lake powinny być wyrównane do typowych warstw usługi Data Lake.

Numer jeziora Warstwy Numer kontenera Nazwa kontenera
1 Nieprzetworzone 1 Lądowania
1 Nieprzetworzone 2 Zgodność
2 Wzbogacony 1 Standardowych
2 Pod opieką 2 Produkty danych
3 Opracowywanie zawartości 1 Piaskownica analizy
3 Opracowywanie zawartości # Numer magazynu podstawowego usługi Synapse

W poprzedniej tabeli przedstawiono standardową liczbę kontenerów, które zalecamy dla strefy docelowej danych. Wyjątkiem od tego zalecenia jest to, że dla danych w kontenerze są wymagane różne zasady usuwania nietrwałego. Te wymagania określają potrzebę większej liczby kontenerów.

Uwaga

Trzy magazyny danych są ilustrowane w każdej strefie docelowej danych. Usługa Data Lake znajduje się na trzech kontach usługi Data Lake, wielu kontenerach i folderach, ale reprezentuje jedno logiczne magazyny danych dla strefy docelowej danych.

W zależności od wymagań możesz skonsolidować nieprzetworzone, wzbogacone i wyselekcjonowane warstwy na jedno konto magazynu. Zachowaj inne konto magazynu o nazwie "programowanie" dla użytkowników danych, aby zapewnić innym przydatnym produktom danych.

Aby uzyskać więcej informacji na temat oddzielania kont usługi Data Lake, zobacz Konta magazynu w usłudze Logical Data Lake.

Włącz usługę Azure Storage z funkcją hierarchicznej przestrzeni nazw, która umożliwia efektywne zarządzanie plikami. Funkcja hierarchicznej przestrzeni nazw organizuje obiekty i pliki w ramach konta w hierarchię katalogów i zagnieżdżonych podkatalogów. Ta hierarchia jest zorganizowana tak samo jak system plików na komputerze.

Gdy niezależny aparat pozyskiwania danych lub aplikacja dołączania rejestruje nowy system rekordów, tworzy wymagane foldery w kontenerach w nieprzetworzonych, wzbogaconych i ustandaryzowanych warstwach danych. Jeśli aplikacja danych dopasowana do źródła pozyska dane, zespół aplikacji danych potrzebuje zespołu ds. strefy docelowej danych, aby utworzyć foldery i grupy zabezpieczeń. Umieść nazwę jednostki usługi lub tożsamość zarządzaną w odpowiedniej grupie i przypisz poziom uprawnień. Udotw ten proces dla zespołów ds. strefy docelowej danych i aplikacji danych.

Aby uzyskać więcej informacji na temat zespołów, zobacz Omówienie ról i zespołów na potrzeby analizy w skali chmury na platformie Azure.

Każdy produkt danych powinien mieć dwa foldery w kontenerze produktów danych, które jest właścicielem zespołu ds. produktów danych.

W ustandaryzowanej warstwie kontenera istnieją dwa foldery na system źródłowy podzielony według klasyfikacji. Dzięki tej strukturze twój zespół może oddzielnie przechowywać dane, które mają różne klasyfikacje zabezpieczeń i danych, i przypisywać im inny dostęp do zabezpieczeń.

Standardowy kontener wymaga folderu ogólnego dla poufnych lub poniższych danych oraz poufnego folderu danych osobowych. Kontrolowanie dostępu do tych folderów przy użyciu list kontroli dostępu (ACL). Możesz utworzyć zestaw danych ze wszystkimi danymi osobowymi usuniętymi i zapisać go w folderze ogólnym. Możesz mieć inny zestaw danych, który zawiera wszystkie dane osobowe w poufnym folderze danych osobowych.

Połączenie list ACL i grup Microsoft Entra ogranicza dostęp do danych. Te listy i grupy kontrolują, jakie inne grupy mogą i nie mogą uzyskać dostępu. Właściciele danych i zespoły aplikacji danych mogą zatwierdzać lub odrzucać dostęp do zasobów danych.

Aby uzyskać więcej informacji, zobacz Zarządzanie dostępem do danych i Dane z ograniczeniami.

Ostrzeżenie

Niektóre produkty programowe nie obsługują instalowania katalogu głównego kontenera usługi Data Lake. Ze względu na to ograniczenie każdy kontener data lake w nieprzetworzonych, wyselekcjonowanych, wzbogaconych i deweloperskich warstwach powinien zawierać jeden folder, który odgałęzienia do wielu folderów. Starannie skonfiguruj uprawnienia do folderu. Podczas tworzenia nowego folderu z katalogu głównego domyślna lista ACL w katalogu nadrzędnym określa domyślną listę ACL katalogu podrzędnego i dostęp do listy ACL. Lista ACL pliku podrzędnego nie ma domyślnej listy ACL.

Aby uzyskać więcej informacji, zobacz Listy kontroli dostępu (ACL) w usłudze Azure Data Lake Storage Gen2.

Warstwa nieprzetworzona lub usługa Data Lake jedna

Nieprzetworzona warstwa jest zbiornikiem, który przechowuje dane w stanie naturalnym i oryginalnym. Nie jest filtrowany i nieoczyszany. Dane można przechowywać w oryginalnym formacie, takim jak JSON lub CSV. Może też być opłacalne przechowywanie zawartości pliku jako kolumny w formacie skompresowanego pliku, takiego jak Avro, Parquet lub Databricks Delta Lake.

Te nieprzetworzone dane są niezmienne. Zachowaj zablokowane nieprzetworzone dane, a jeśli przyznasz uprawnienia wszystkim użytkownikom, zautomatyzowanym lub ludzkim, upewnij się, że są one tylko do odczytu. Tę warstwę można zorganizować przy użyciu jednego folderu na system źródłowy. Przyznaj każdemu procesowi pozyskiwania dostęp do zapisu tylko do skojarzonego z nim folderu.

Podczas ładowania danych z systemów źródłowych do strefy pierwotnej można wykonać następujące czynności:

  • Pełne ładowanie w celu wyodrębnienia pełnego zestawu danych.
  • Ładowanie różnicowe w celu załadowania tylko zmienionych danych.

Wskaż wybrany wzorzec ładowania w strukturze folderów, aby uprościć korzystanie z nich dla użytkowników danych.

Nieprzetworzone dane z systemów źródłowych dla każdej aplikacji danych dostosowanej do źródła lub zautomatyzowanego aparatu pozyskiwania ląduje w pełnym folderze lub folderze różnicowym. Każdy proces pozyskiwania powinien mieć dostęp do zapisu tylko do skojarzonego z nim folderu.

Różnice między pełnymi obciążeniami i obciążeniami różnicowymi to:

  • Pełne ładowanie — pełne dane ze źródła można dołączyć, jeśli:

    • Ilość danych w źródle jest mała.
    • System źródłowy nie obsługuje pola znacznika czasu, które identyfikuje, czy dane zostały dodane, zaktualizowane lub usunięte.
    • System źródłowy zastępuje pełne dane za każdym razem.
  • Obciążenie różnicowe — przyrostowe dane ze źródła można dołączyć, jeśli:

    • Wolumin danych w źródle jest duży.
    • System źródłowy utrzymuje pole znacznika czasu, które identyfikuje, czy dane zostały dodane, zaktualizowane lub usunięte.
    • System źródłowy tworzy i aktualizuje pliki dotyczące zmian danych.

Raw Data Lake składa się z kontenerów docelowych i zgodnych. Każdy kontener używa obowiązkowej struktury folderów 100% specyficznej dla jego przeznaczenia.

Układ kontenera docelowej

Kontener docelowy jest zarezerwowany dla danych pierwotnych, które pochodzą z rozpoznanego systemu źródłowego. Niezależny aparat pozyskiwania danych lub aplikacja danych wyrównana do źródła ładuje dane, które są niezrównoważone i w oryginalnym obsługiwanym formacie.

.
|-Landing
|--Log
|---{Application Name}
|--Master and Reference
|---{Source System}
|--Telemetry
|---{Source System}
|----{Application}
|--Transactional
|---{Source System}
|----{Entity}
|-----{Version}
|------Delta
|-------{date (ex. rundate=2019-08-22)}
|------Full

Kontener zgodności warstwy pierwotnej

Warstwa nieprzetworzona zawiera dane zgodne z jakością danych. Gdy dane są kopiowane do kontenera docelowej, przetwarzanie i przetwarzanie danych jest wyzwalane w celu skopiowania danych z kontenera docelowej do kontenera zgodności. W tym pierwszym etapie dane są konwertowane na format usługi delta lake i ląduje w folderze wejściowym. Podczas uruchamiania jakości danych rekordy przekazywane są kopiowane do folderu wyjściowego. Rekordy, które kończą się niepowodzeniem, są w folderze błędów.

.
|-Conformance
|--Log
|---{Application Name}
|--Master and Reference
|---{Source System}
|--Telemetry
|---{Source System}
|----{Application}
|--Transactional
|---{Source System}
|----{Entity}
|-----{Version}
|------Delta
|-------Input
|--------{date (ex. rundate=2019-08-22)}
|-------Output
|--------{date (ex. rundate=2019-08-22)}
|-------Error
|--------{date (ex. rundate=2019-08-22)}
|------Full
|-------Input
|--------{date (ex. rundate=2019-08-22)}
|-------Output
|--------{date (ex. rundate=2019-08-22)}
|-------Error
|--------{date (ex. rundate=2019-08-22)}

Napiwek

Pomyśl o scenariuszach, w których może być konieczne odbudowanie platformy analitycznej od podstaw. Rozważ najbardziej szczegółowe dane, które należy ponownie skompilować podrzędne magazyny danych odczytu. Upewnij się, że masz plan ciągłości działania i odzyskiwania po awarii dla kluczowych składników.

Wzbogacona warstwa lub usługa Data Lake dwa

Pomyśl o wzbogaconej warstwie jako warstwie filtrowania. Usuwa zanieczyszczenia i może również obejmować wzbogacanie.

Kontener standaryzacji zawiera systemy rekordów i wzorców. Foldery są najpierw podzielone według obszaru tematu, a następnie według jednostki. Dane są dostępne w scalonych tabelach podzielonych na partycje zoptymalizowanych pod kątem użycia analiz.

Kontener ustandaryzowany

.
|-Standardized
|--Log
|---{Application Name}
|--Master and Reference
|---{Source System}
|--Telemetry
|---{Source System}
|----{Application}
|--Transactional
|---{Source System}
|----{Entity}
|-----{Version}
|------General
|--------{date (ex. rundate=2019-08-22)}
|-------Sensitive
|--------{date (ex. rundate=2019-08-22)}

Uwaga

Ta warstwa danych jest uznawana za warstwę srebrną lub źródło danych odczytu. Dane w tej warstwie nie miały zastosowanych przekształceń innych niż jakość danych, konwersja typu delta lake i wyrównanie typów danych.

Na poniższym diagramie przedstawiono przepływ magazynów danych i kontenerów z danych źródłowych do standardowego kontenera.

Diagram that shows a high level data flow.

Wyselekcjonowane warstwy lub usługi Data Lake dwa

Wyselekcjonowane warstwy to warstwa zużycia. Jest zoptymalizowany pod kątem analizy, a nie pozyskiwania lub przetwarzania danych. Wyselekcjonowana warstwa może przechowywać dane w zdenormalizowanych składnicach danych lub schematach gwiazd.

Dane ze standardowego kontenera są przekształcane w produkty danych o wysokiej wartości, które są udostępniane konsumentom danych. Te dane mają strukturę. Może być ona obsługiwana dla użytkowników, takich jak notesy nauki o danych, lub za pośrednictwem innego magazynu danych odczytu, takiego jak usługa Azure SQL Database.

Użyj narzędzi, takich jak Spark lub Data Factory, aby wykonać modelowanie wymiarowe zamiast robić to wewnątrz aparatu bazy danych. To użycie narzędzi staje się kluczowym punktem, jeśli chcesz uczynić jezioro pojedynczym źródłem prawdy.

W przypadku modelowania wymiarowego poza usługą Lake możesz opublikować modele z powrotem w usłudze Lake w celu zapewnienia spójności. Ta warstwa nie zastępuje magazynu danych. Jej wydajność zazwyczaj nie jest odpowiednia dla dynamicznych pulpitów nawigacyjnych ani użytkowników końcowych i interaktywnej analizy użytkownika końcowego. Ta warstwa jest najbardziej odpowiednia dla analityków wewnętrznych i analityków danych, którzy uruchamiają na dużą skalę, improwizowane zapytania lub analizę, lub dla zaawansowanych analityków, którzy nie mają potrzeb związanych z raportowaniem uwzględniającym czas. Ponieważ koszty magazynowania są niższe w usłudze Data Lake niż magazyn danych, może to być opłacalne, aby zapewnić szczegółowe i niskie dane w magazynie typu lake. Przechowywanie zagregowanych danych w magazynie. Wygeneruj te agregacje przy użyciu platformy Spark lub usługi Azure Data Factory. Utrwali je w usłudze Data Lake przed załadowaniem ich do magazynu danych.

Zasoby danych w tej strefie są zwykle wysoce zarządzane i dobrze udokumentowane. Przypisz uprawnienia według działu lub funkcji oraz organizuj uprawnienia według grupy odbiorców lub składnic danych.

Kontener produktów danych

.
|-{Data Product}
|---{Entity}
|----{Version}
|-----General
|-------{date (ex. rundate=2019-08-22)}
|------Sensitive
|-------{date (ex. rundate=2019-08-22)}

Napiwek

Podczas lądowania danych w innym magazynie danych odczytu, takim jak usługa Azure SQL Database, upewnij się, że masz kopię tych danych znajdujących się w wyselekcjonowanych danych. Użytkownicy produktu danych są kierowani do głównego magazynu danych odczytu lub wystąpienia usługi Azure SQL Database, ale mogą również eksplorować dane za pomocą dodatkowych narzędzi, jeśli dane są dostępne w usłudze Data Lake.

Warstwa programowania lub usługa Data Lake trzy

Użytkownicy danych mogą wprowadzać inne przydatne produkty danych wraz z danymi pozyskanymi do standardowego kontenera.

W tym scenariuszu platforma danych może przydzielić obszar piaskownicy analizy dla tych użytkowników. W piaskownicy mogą one generować cenne szczegółowe informacje przy użyciu wyselekcjonowanych danych i produktów danych, które przynoszą. Jeśli na przykład zespół ds. nauki o danych chce określić najlepszą strategię umieszczania produktów w nowym regionie, może przynieść inne produkty danych, takie jak dane demograficzne klientów i dane użycia, z podobnych produktów w tym regionie. Zespół może użyć szczegółowych informacji o sprzedaży o wysokiej wartości z tych danych, aby przeanalizować dopasowanie rynku produktów i strategię oferty.

Uwaga

Obszar piaskownicy analizy to obszar roboczy dla pojedynczej lub małej grupy współpracowników. Foldery obszaru piaskownicy mają specjalny zestaw zasad, które uniemożliwiają próbę użycia tego obszaru w ramach rozwiązania produkcyjnego. Te zasady ograniczają łączny dostępny magazyn i czas przechowywania danych.

Te produkty danych są zwykle nieznanej jakości i dokładności. Nadal są one klasyfikowane jako produkty danych, ale są tymczasowe i dotyczą tylko grupy użytkowników, która korzysta z danych.

Gdy te produkty danych dojrzały, twoje przedsiębiorstwo może podwyższyć poziom tych produktów danych do wyselekcjonowanych warstw danych. Aby zapewnić zespołom ds. produktów danych odpowiedzialnym za nowe produkty danych, udostępnij zespołom dedykowany folder w strefie wyselekcjonowanych danych. Mogą przechowywać nowe wyniki w folderze i udostępniać je innym zespołom w organizacji.

Uwaga

Dla każdego tworzonego obszaru roboczego usługi Azure Synapse użyj usługi Data Lake trzy, aby utworzyć kontener do użycia jako magazyn podstawowy. Ten kontener uniemożliwia obszarom roboczym usługi Azure Synapse zakłócanie limitów przepływności wyselekcjonowanych i wzbogaconych stref.

Przykład przepływu danych do produktów i piaskownicy analizy

Poniższy diagram kompiluje informacje w tym artykule i pokazuje, jak dane przepływa do produktów danych i piaskownicy analizy.

Diagram showing a data flow into product container and analytics sandbox.

Następne kroki