Architektura programu Qlik Open Lakehouse
Qlik Open Lakehouse zapewnia w pełni zarządzane, kompleksowe rozwiązanie w Qlik Talend Cloud do pozyskiwania, przetwarzania i optymalizacji danych w lakehouse opartym na Iceberg. Rozwiązanie to zapewnia niską latencję zapytań i wydajne operacje na danych na dużą skalę.
Architektura Qlik Open Lakehouse łączy w sobie bezpieczną komunikację, skalowalne obliczenia i wydajne przetwarzanie danych, aby zapewnić nowoczesne wrażenia podczas używania lakehouse. Qlik Open Lakehouse wykorzystuje natywne komponenty AWS, w tym EC2, S3 i Kinesis.
Podstawowe składniki
Do utworzenia Qlik Open Lakehouse potrzebne są następujące składniki.
Data Movement Gateway (CDC)
Data Movement Gateway działa w środowisku lokalnym lub w chmurze. Przechwytuje zmiany z systemów źródłowych, takich jak RDBMS, SAP lub mainframe, i wysyła dane do strefy umieszczania Amazon S3.
Agent integracji sieci (instancja EC2)
Agent integracji sieci to instancja EC2, która ułatwia bezpieczną komunikację między usługami Qlik w chmurze a klastrami lakehouse w środowisku. Agent jest automatycznie wdrożony jako instancja na żądanie podczas procesu integracji sieci i jest w pełni zarządzany przez Qlik. Nowe wersje są wdrożone automatycznie w momencie wydania.
Gdy połączenie sieciowe jest aktywne, w widoku Klastry lakehouse w Centrum działań administracyjnych wyświetlany jest status Połączono. W przypadku problemów z połączeniem status zmienia się na Rozłączono.
Klaster lakehouse (grupa automatycznego skalowania EC2)
Klaster lakehouse to grupa instancji AWS EC2 odpowiedzialnych za przetwarzanie danych. Instancje klastra koordynują i wykonują obciążenia w celu przetwarzania danych przychodzących z miejsca umieszczania, a po przetworzeniu przechowują dane w docelowej lokalizacji w formacie Iceberg.
Klaster lakehouse z pojedynczym wystąpieniem AWS Spot jest automatycznie tworzony podczas konfiguracji integracji sieci. Możesz zarządzać dodatkowymi klastrami i tworzyć je w celu obsługi bieżących wymagań dotyczących lakehouse. Podczas konfigurowania klastra Qlik przyznawane są uprawnienia do tworzenia, uruchamiania, zatrzymywania, skalowania lub wycofywania serwerów w celu spełnienia wymagań przetwarzania danych. Każdy klaster jest powiązany z pojedynczą integracją sieciową, choć wiele klastrów może działać w ramach tej samej integracji sieciowej. Pojedynczy klaster może obsługiwać wiele zadań lakehouse.
Wystąpienie AWS Spot wykorzystuje wolną pojemność Amazon EC2 po niższych kosztach niż zwykłe instancje, ale może zostać przerwane przez AWS z niewielkim wyprzedzeniem. Domyślnie Qlik używa tymczasowych instancji Spot do przetwarzania danych. Jeśli na giełdzie instancji Spot AWS nie będzie wystarczającej liczby instancji spot, Qlikautomatycznie użyje instancji na żądanie w celu zapewnienia ciągłości. System powraca do instancji Spot, gdy stają się one dostępne. Technologia klastra lakehouse została zaprojektowana z myślą o płynnym przechodzeniu między instancjami Spot i na żądanie, przenosząc zadania między węzłami. Proces ten odbywa się automatycznie, bez konieczności ręcznej interwencji. W ustawieniach klastra można skonfigurować liczbę instancji Spot i na żądanie, które mają być używane w klastrze. Korzystanie z instancji spot pomaga obniżyć bieżące koszty obliczeniowe Qlik Open Lakehouse.
Oprócz zdefiniowania liczby instancji Spot i na żądanie do wykorzystania można skonfigurować strategię skalowania, która najlepiej pasuje do obciążenia pracą i budżetu projektu. W klastrze można zastosować następujące strategie skalowania:
-
Niski koszt: idealny dla środowisk rozwojowych lub QA oraz obciążeń, które nie zależą od świeżych danych w czasie rzeczywistym. Qlik dąży do utrzymania kosztów na jak najniższym poziomie, co skutkuje sporadycznymi okresami dużych opóźnień.
-
Niskie opóźnienia: dla obciążeń niemających krytycznego znaczenia dla misji, w których akceptowalna jest świeżość danych w czasie zbliżonym do rzeczywistego. Chociaż strategia ta ma na celu niskie opóźnienia, mogą wystąpić krótkie skoki.
-
Stałe niskie opóźnienia: odpowiednie dla środowisk produkcyjnych z dużą ilością danych, które muszą mieć zapewnioną świeżość danych w czasie rzeczywistym. Qlik proaktywnie skaluje instancje, aby zapewnić niskie opóźnienia, co może wiązać się z wyższymi kosztami.
-
Brak skalowania: dobra opcja dla obciążeń, które przetwarzają stałą ilość danych. Wybierz tę opcję, aby zachować statyczną liczbę instancji bez automatycznego skalowania i przewidywalne koszty.
Strumień Kinesis (koordynacja obciążenia)
Qlik wymaga strumienia Kinesis do zestawiania i przekazywania stanu każdego serwera w klastrze lakehouse. Serwery raportują stan zadań i metryki operacyjne, takie jak CPU i pamięć, bezpośrednio do Kinesis, ponieważ serwery nie komunikują się ze sobą. Każdy serwer odpytywał dane ze strumienia Kinesis, aby uzyskać informacje o innych serwerach w klastrze. Ta wymiana informacji umożliwia synchronizację pracy.
Zasobniki Amazon S3
Zasobniki Amazon S3 są używane w następujący sposób:
-
Zasobnik umieszczania danych: surowe dane CDC umieszczane są w zasobniku S3 przed transformacją danych.
-
Zasobnik konfiguracji: przechowuje metadane i konfiguracje używane przez system lakehouse.
-
Przechowywanie danych w tabelach Iceberg: dane są przechowywane i optymalizowane w tabelach w formacie Iceberg.
Wysoki poziom przepływu
Konfiguracja początkowa
-
VPC i wdrażanie infrastruktury – skonfiguruj VPC na swoim koncie AWS wraz z podsieciami, zasobnikami S3, strumieniami Kinesis i rolami IAM, wykonując instrukcje w dokumentacji Qlik.
-
Konfiguracja integracji sieciowej – administrator dzierżawy tworzy integrację sieciową w Qlik Talend Cloud przy użyciu wcześniej udostępnionych szczegółów infrastruktury.
-
Wdrożenie komponentów Qlik – Qlik automatycznie aprowizuje bramę płaszczyzny danych i klaster lakehouse w VPC.
-
Nawiązanie komunikacji – brama płaszczyzny danych bezpiecznie nawiązuje komunikację z Qlik Talend Cloud.
-
Wdrożenie bramy – wdrożenie bramy Data Movement Gateway (CDC), lokalnie lub w środowisku chmury, w tym VPC płaszczyzny danych.
-
Gotowy do pracy – po zakończeniu konfiguracji można tworzyć projekty i zadania Qlik Open Lakehouse oraz zarządzać nimi zgodnie z ich uprawnieniami dostępu.
Tworzenie projektu Qlik Open Lakehouse
Dostępne są następujące typy zadań:
Zadanie umieszczania danych w jeziorze
-
Konfiguracja źródła – Data Movement Gateway jest skonfigurowana do przechwytywania zmian z systemów źródłowych, w tym RDBMS, SAP, mainframe i innych.
-
Umieszczanie danych – zadanie CDC stale wysyła nieprzetworzone dane dotyczące zmian do wyznaczonego zasobnika S3 na koncie AWS.
Zadanie przechowywania danych
-
Zarejestruj połączenie z katalogiem Iceberg, np. AWS Glue Data Catalog.
-
Zdefiniuj zadanie przechowywania w Qlik Talend Cloud.
-
Qlik Talend Cloud wysyła definicje zadań do bramy płaszczyzny danych.
-
Brama płaszczyzny danych bezpiecznie przekazuje instrukcje zadań do klastra Qlik lakehouse.
-
Klaster stale odczytuje nieprzetworzone dane z umieszczanego w S3 zasobnika, przetwarza je i zapisuje dane wyjściowe w tabelach Iceberg w S3.
-
Klaster lakehouse automatycznie skaluje się w górę lub w dół w zależności od obciążenia, zgodnie z predefiniowanymi preferencjami w ustawieniach klastra lakehouse.
-
Dane monitorowania są wysyłane do Qlik Talend Cloud, a dzienniki i metryki są przekazywane do Qlik.
Tworzenie kopii lustrzanej danych
Można tworzyć zewnętrzne tabele Iceberg, aby umożliwić wysyłanie zapytań do danych przechowywanych w jeziorze danych ze Snowflake bez ich duplikowania. Umożliwia to korzystanie z silnika analitycznego Snowflake na danych zarządzanych przez Iceberg przechowywanych w formatach takich jak Parquet na S3. Odwoływanie się do zewnętrznych tabel, zamiast duplikowania danych do Snowflake, zmniejsza koszty przechowywania, utrzymuje jedno źródło prawdy i zapewnia spójność między środowiskiem lakehouse i magazynem.
Komunikacja między integracją sieciową a Qlik Talend Cloud
Integracja sieciowa ustanawia bezpieczne połączenie wychodzące (HTTPS) do Qlik Talend Cloud. Po pomyślnej akceptacji połączenie jest konwertowane na zabezpieczone gniazdo WebSocket (WSS). Dodatkowy, dedykowany kanał komunikacyjny (WSS) jest ustanawiany między integracją sieci a Qlik Talend Cloud w celu odbierania poleceń i kontroli zadań specyficznych dla lakehouse. Okresowo integracja sieciowa nawiązuje bezpieczne połączenie (HTTPS) z witryną Qlik Talend Cloud w celu odbierania i wysyłania zdarzeń związanych z danymi. Metryki i dzienniki są wysyłane na adres Qlik z klastrów Lakehouse.
W celu zapewnienia bezpieczeństwa danych użytkownika obserwator podejmuje następujące środki:
-
Wszystkie połączenia z integracji sieciowej do Qlik Talend Cloud są połączeniami wychodzącymi. Nie jest wymagany dostęp przychodzący.
-
Metadane, polecenia i żądania kontroli są przesyłane za pomocą kanałów komunikacyjnych zabezpieczonych protokołem HTTPS, tworząc dodatkową warstwę szyfrowania między integracją sieci a Qlik Talend Cloud.
-
Wszystkie dane przepływają pomiędzy zasobami należącymi do użytkownika. Dane nigdy nie są wysyłane do Qlik Talend Cloud. Metadane, takie jak na przykład nazwy tabel i kolumn, są wysyłane do Qlik Talend Cloud w celu umożliwienia definiowania zadań.
-
Dane są anonimizowane przed wysłaniem do Qlik. Qlik wykorzystuje zanonimizowane dane, aby proaktywnie wspierać użytkownika, jeśli dzienniki lub metryki wskazują na problem.