Rozważanie wszystkich dostępnych usług i opcji architektonicznych podczas myślenia o platformach danych może być trochę trudne.
Platforma danych korporacyjnych często składa się z hurtowni danych, modeli danych, jezior danych i raportów, z których każdy ma określony cel i zestaw wymaganych umiejętności. W przeciwieństwie do tego, w ciągu ostatnich kilku lat pojawił się nowy projekt o nazwie Data Lakehouse.
Wszechstronność jezior danych i zarządzania danymi w hurtowniach danych łączy się w rewolucyjnej architekturze przechowywania danych, nazywanej „domem jezior danych”.
W tym poście szczegółowo omówimy Data Lakehouse, w tym jego komponenty, funkcje, architekturę i inne aspekty.
Co to jest Data Lakehouse?
Jak sama nazwa wskazuje, Data Lakehouse to nowy typ architektury danych, który łączy jezioro danych z hurtownią danych w celu rozwiązania każdego z niedociągnięć z osobna.
Zasadniczo system Lakehouse wykorzystuje niedrogie miejsce do przechowywania ogromnych ilości danych w ich oryginalnej formie, podobnie jak jeziora danych. Dodanie warstwy metadanych na górze sklepu zapewnia również strukturę danych i wzmacnia narzędzia do zarządzania danymi, takie jak te, które można znaleźć w hurtowniach danych.
Przechowuje ogromne ilości zorganizowanych, częściowo ustrukturyzowanych i nieustrukturyzowanych danych, które otrzymują z różnych aplikacji biznesowych, systemów i gadżetów używanych w całej organizacji.
W większości przypadków jeziora danych wykorzystują niedrogą infrastrukturę pamięci masowej z interfejsem programowania aplikacji plików (API) do przechowywania danych w otwartych, ogólnych formatach plików.
Umożliwia to wielu zespołom dostęp do wszystkich danych firmowych za pośrednictwem jednego systemu na potrzeby różnych inicjatyw, takich jak analiza danych, uczenie maszynoweoraz wywiad biznesowy.
Korzyści
- Niedrogie przechowywanie. Data Lakehouse musi być w stanie przechowywać dane w niedrogiej obiektowej pamięci masowej, takiej jak Google Cloud Storage, Azure Blob Storage, Amazon Simple Storage Service lub natywnie przy użyciu ORC lub Parquet.
- Zdolność do optymalizacji danych: Optymalizacja układu danych, buforowanie i indeksowanie to tylko kilka przykładów tego, jak usługa Lakehouse danych musi być w stanie zoptymalizować dane przy zachowaniu oryginalnego formatu danych.
- Warstwa metadanych transakcyjnych: oprócz podstawowej, taniej pamięci masowej, zapewnia to funkcje zarządzania danymi, które mają kluczowe znaczenie dla wydajności hurtowni danych.
- Obsługa interfejsu API deklaratywnych ramek danych: większość narzędzi sztucznej inteligencji może używać ramek danych do pobierania nieprzetworzonych danych z magazynu obiektów. Wsparcie dla Declarative DataFrame API zwiększa możliwość dynamicznego ulepszania prezentacji i struktury danych w odpowiedzi na konkretne zadanie data science lub AI.
- Obsługa transakcji ACID: Akronim ACID, który oznacza niepodzielność, spójność, izolację i trwałość, jest kluczowym elementem definiującym transakcję i zapewniającym spójność i niezawodność danych. Takie transakcje były wcześniej możliwe tylko w hurtowniach danych, ale Lakehouse oferuje możliwość wykorzystania ich z jeziorami danych również. Dzięki kilku potokom danych, w tym równoczesnym odczytom i zapisom danych, rozwiązuje to problem niskiej jakości danych tych ostatnich.
Elementy Data Lakehouse
Architektura data lakehouse jest podzielona na dwa główne poziomy na wysokim poziomie. Pobieranie danych przez warstwę pamięci masowej jest kontrolowane przez platformę Lakehouse (tj. jezioro danych).
Bez konieczności ładowania danych do hurtowni danych lub konwertowania ich do zastrzeżonego formatu, warstwa przetwarzająca może bezpośrednio wyszukiwać dane w warstwie pamięci przy użyciu szeregu narzędzi.
Wówczas z danych mogą korzystać aplikacje BI, a także technologie AI i ML. Ten projekt zapewnia ekonomię jeziora danych, ale ponieważ każdy silnik przetwarzania może odczytać te dane, firmy mają swobodę udostępniania przygotowanych danych do analizy przez szereg systemów. Wydajność i koszt procesora można poprawić, stosując tę metodę przetwarzania i analizy.
Dzięki obsłudze transakcji bazodanowych, które są zgodne z następującymi kryteriami ACID (niepodzielność, spójność, izolacja i trwałość), architektura umożliwia również wielu stronom jednoczesny dostęp i zapis danych w systemie:
- Atomowość odnosi się do faktu, że albo cała transakcja, albo żadna z nich, kończy się sukcesem podczas realizacji transakcji. W przypadku przerwania procesu pomaga to uniknąć utraty lub uszkodzenia danych.
- Konsystencja gwarantuje, że transakcje odbywają się w przewidywalny, spójny sposób. Utrzymuje integralność danych, zapewniając, że wszystkie dane są legalne zgodnie z wcześniej ustalonymi zasadami.
- Izolacja zapewnia, że aż do zakończenia transakcji żadna inna transakcja w systemie nie będzie miała wpływu na żadną transakcję. Dzięki temu wiele stron może jednocześnie czytać i pisać z tego samego systemu bez wzajemnego zakłócania się.
- Trwałość gwarantuje, że zmiany danych w systemie będą kontynuowane po zakończeniu transakcji, nawet w przypadku awarii systemu. Wszelkie zmiany spowodowane transakcją są przechowywane w aktach na zawsze.
Architektura Data Lakehouse
Databricks (innowator i projektant ich koncepcji Delta Lake) i AWS to dwaj główni orędownicy koncepcji data lakehouse. Opieramy się zatem na ich wiedzy i wnikliwości przy opisywaniu układu architektonicznego domków nad jeziorem.
System Data Lakehouse zazwyczaj składa się z pięciu warstw:
- Warstwa wchłaniania
- Warstwa magazynowa
- Warstwa metadanych
- Warstwa API
- Warstwa konsumpcyjna
Warstwa wchłaniania
Pierwsza warstwa systemu odpowiada za zbieranie danych z różnych źródeł i przesyłanie ich do warstwy przechowywania. Warstwa może wykorzystywać kilka protokołów do łączenia się z wieloma wewnętrznymi i zewnętrznymi źródłami, w tym łączenie możliwości przetwarzania danych wsadowych i strumieniowych, takich jak
- bazy NoSQL,
- udziały plików
- aplikacje CRM,
- strony internetowe,
- czujniki IoT,
- Media społecznościowe,
- Aplikacje Software as a Service (SaaS) oraz
- systemy zarządzania relacyjnymi bazami danych itp.
W tym momencie można zastosować komponenty takie jak Apache Kafka do strumieniowego przesyłania danych i Amazon Data Migration Service (Amazon DMS) do importowania danych z baz danych RDBMS i NoSQL.
Warstwa magazynowa
Architektura lakehouse ma umożliwić przechowywanie różnego typu danych jako obiektów w niedrogich obiektowych składnicach, takich jak AWS S3. Korzystając z otwartych formatów plików, narzędzia klienckie mogą następnie odczytywać te elementy bezpośrednio ze sklepu.
Dzięki temu wiele interfejsów API i składników warstwy zużycia może uzyskiwać dostęp do tych samych danych i korzystać z nich. Warstwa metadanych przechowuje schematy ustrukturyzowanych i częściowo ustrukturyzowanych zestawów danych, dzięki czemu komponenty mogą stosować je do danych podczas ich odczytywania.
Na przykład platforma Hadoop Distributed File System (HDFS) może służyć do konstruowania usług repozytorium w chmurze, które dzielą lokalne przetwarzanie i przechowywanie. Lakehouse idealnie nadaje się do tych usług.
Warstwa metadanych
Warstwa metadanych jest podstawowym elementem składowym data lakehouse, który wyróżnia ten projekt. Jest to pojedynczy katalog, który oferuje metadane (informacje o innych elementach danych) dla wszystkich elementów przechowywanych w jeziorze i umożliwia użytkownikom korzystanie z funkcji administracyjnych, takich jak:
- Spójna wersja bazy jest widoczna dla transakcji współbieżnych dzięki transakcjom ACID;
- buforowanie w celu zapisywania plików składnicy obiektów w chmurze;
- dodawanie indeksów struktury danych za pomocą indeksowania w celu przyspieszenia przetwarzania zapytań;
- używanie klonowania z zerową kopią do duplikowania obiektów danych; oraz
- do przechowywania niektórych wersji danych itp., użyj wersjonowania danych.
Ponadto warstwa metadanych umożliwia wdrożenie zarządzania schematami, wykorzystanie topologii schematów DW, takich jak schematy gwiazda/płatek śniegu, oraz zapewnienie zarządzania danymi i możliwości audytu bezpośrednio w Data Lake, zwiększając integralność całego potoku danych.
Funkcje ewolucji i egzekwowania schematu są zawarte w zarządzaniu schematem. Odrzucając wszelkie zapisy, które nie są zgodne ze schematem tabeli, wymuszanie schematu umożliwia użytkownikom zachowanie integralności i jakości danych.
Ewolucja schematu umożliwia modyfikację obecnego schematu tabeli w celu dostosowania do zmieniających się danych. Dzięki jednemu interfejsowi administracyjnemu nad jeziorem danych istnieje również możliwość kontroli dostępu i audytu.
Warstwa API
Obecna jest kolejna kluczowa warstwa architektury, obsługująca szereg interfejsów API, z których wszyscy użytkownicy końcowi mogą korzystać w celu szybszego wykonywania zadań i uzyskiwania bardziej wyrafinowanych statystyk.
Korzystanie z interfejsów API metadanych ułatwia identyfikację i dostęp do elementów danych potrzebnych dla danej aplikacji.
Jeśli chodzi o biblioteki uczenia maszynowego, niektóre z nich, takie jak TensorFlow i Spark MLlib, mogą odczytywać otwarte formaty plików, takie jak Parquet i bezpośrednio uzyskiwać dostęp do warstwy metadanych.
Jednocześnie API DataFrame dają większe szanse na optymalizację, umożliwiając programistom organizowanie i zmianę rozproszonych danych.
Warstwa konsumpcyjna
Usługi Power BI, Tableau oraz inne narzędzia i aplikacje są hostowane w warstwie zużycia. Dzięki projektowi Lakehouse wszystkie metadane i wszystkie dane przechowywane w jeziorze są dostępne dla aplikacji klienckich.
Domek nad jeziorem może być używany przez wszystkich użytkowników w firmie do wykonywania wszelkiego rodzaju prac operacje analityczne, w tym tworzenie pulpitów nawigacyjnych analizy biznesowej oraz uruchamianie zapytań SQL i zadań uczenia maszynowego.
Zalety Data Lakehouse
Organizacje mogą tworzyć jeziora danych, aby ujednolicić swoją obecną platformę danych i zoptymalizować cały proces zarządzania danymi. Demontując bariery silosowe łączące różne źródła, datahouse może zastąpić potrzebę odrębnych rozwiązań.
W porównaniu z wyselekcjonowanymi źródłami danych ta integracja zapewnia znacznie bardziej efektywną, kompleksową procedurę. Ma to kilka zalet:
- Mniej administracji: Zamiast wydobywać dane z nieprzetworzonych danych i przygotowywać je do wykorzystania w hurtowni danych, data lakehouse umożliwia wszystkim połączonym z nim źródłom udostępnianie i organizowanie ich danych do wykorzystania.
- Zwiększona efektywność kosztowa: Data lakehouses są budowane przy użyciu współczesnej infrastruktury, która dzieli obliczenia i pamięć masową, co ułatwia rozbudowę pamięci bez zwiększania mocy obliczeniowej. Samo korzystanie z niedrogiego przechowywania danych zapewnia skalowalność, która jest opłacalna.
- Lepsze zarządzanie danymi: Data Lakehouses są budowane w standardowej otwartej architekturze, co pozwala na większą kontrolę nad bezpieczeństwem, metrykami, dostępem opartym na rolach i innymi ważnymi komponentami zarządzania. Dzięki ujednoliceniu zasobów i źródeł danych upraszczają i usprawniają zarządzanie.
- Uproszczone standardy: Ponieważ połączenie było bardzo ograniczone w latach 1980., kiedy po raz pierwszy opracowano hurtownie danych, lokalne standardy schematów były często opracowywane w firmach, a nawet w działach. Domy jezior danych wykorzystują fakt, że wiele typów danych ma obecnie otwarte standardy schematów, pozyskując liczne źródła danych z nakładającymi się jednolitymi schematami w celu usprawnienia procedur.
Wady Data Lakehouse
Pomimo całej bałaganu otaczającego domy z danymi, należy pamiętać, że pomysł jest wciąż bardzo nowy. Pamiętaj, aby rozważyć wady, zanim w pełni zaangażujesz się w ten nowy projekt.
- Struktura monolityczna: Kompleksowy projekt domku nad jeziorem ma kilka zalet, ale stwarza również pewne problemy. Architektura monolityczna często prowadzi do słabej obsługi wszystkich użytkowników i może być sztywna i trudna w utrzymaniu. Zazwyczaj architekci i projektanci lubią bardziej modułową architekturę, którą mogą dostosować do różnych przypadków użycia.
- Technologia jeszcze nie istnieje: ostateczny cel obejmuje znaczną ilość uczenia maszynowego i sztucznej inteligencji. Zanim domy nad jeziorem będą mogły działać zgodnie z oczekiwaniami, technologie te muszą się dalej rozwijać.
- Nieznaczny postęp w stosunku do istniejących struktur: Nadal istnieje spory sceptycyzm co do tego, o ile bardziej wartościowe domy nad jeziorem faktycznie wniosą swój wkład. Niektórzy krytycy twierdzą, że projekt magazynu nad jeziorem w połączeniu z odpowiednim zautomatyzowanym sprzętem może osiągnąć porównywalną wydajność.
Wyzwania Data Lakehouse
Przyjęcie techniki Data Lakehouse może być trudne. Ze względu na złożoność elementów składowych niewłaściwe jest postrzeganie Data Lakehouse jako wszechogarniającej idealnej struktury lub „jednej platformy do wszystkiego”.
Dodatkowo, ze względu na coraz większe rozpowszechnienie jezior danych, firmy będą musiały przenieść do nich swoje obecne hurtownie danych, opierając się tylko na obietnicy sukcesu bez widocznych korzyści ekonomicznych.
Jeśli podczas procesu przesyłania wystąpią jakiekolwiek problemy z opóźnieniami lub awarie, może to być kosztowne, czasochłonne i być może niebezpieczne.
Użytkownicy biznesowi muszą korzystać z wysoce wyspecjalizowanych technologii, jak twierdzą niektórzy dostawcy, którzy w sposób wyraźny lub niejawny wprowadzają na rynek rozwiązania typu data lakehouse. Mogą one nie zawsze działać z innymi narzędziami połączonymi z jeziorem danych w centrum systemu, co dodatkowo zwiększa problemy.
Ponadto dostarczanie analiz 24/7 podczas obsługi krytycznych obciążeń biznesowych może być trudne, co wymaga infrastruktury o ekonomicznej skalowalności.
Wnioski
Najnowszą odmianą centrów danych w ostatnich latach jest data lakehouse. Integruje różne dziedziny, takie jak technologia informacyjna, oprogramowanie open-source, cloud computingi protokoły rozproszonej pamięci masowej.
Umożliwia firmom centralne przechowywanie wszystkich rodzajów danych z dowolnej lokalizacji, upraszczając zarządzanie i analizę. Data Lakehouse to dość intrygująca koncepcja.
Każda firma miałaby znaczącą przewagę konkurencyjną, gdyby miała dostęp do kompleksowej platformy danych, która byłaby tak szybka i wydajna jak hurtownia danych, a jednocześnie elastyczna jak jezioro danych.
Pomysł wciąż się rozwija i pozostaje stosunkowo nowy. W rezultacie ustalenie, czy coś może się rozpowszechnić, może zająć trochę czasu.
Wszyscy powinniśmy być ciekawi, w jakim kierunku zmierza architektura Lakehouse.
Dodaj komentarz