Architektura zestawu danych w hurtowni danych w chmurze
Qlik Talend Data Integration pozwala na tworzenie, zarządzanie i kontrolowanie analitycznego potoku danych, dostarczając dane aż do konsumentów. Podczas generowania zestawów danych w hurtowni danych w chmurze za pomocą Qlik Talend Data Integration generowane są tabele przechowywania, tabele zmian i widoki.
Intuicyjny interfejs użytkownika z przewodnikiem pomaga w budowaniu, modelowaniu i wykonywaniu potoków danych. Automatycznie generuj schematy dla operacyjnych magazynów danych (ODS) i historycznych magazynów danych (HDS) bez ręcznego kodowania.
Architektura dla potoku danych Qlik Talend Data Integration przy użyciu Brama danych Qlik — ruch danych i CDC
-
Umieszczanie
Zadanie umieszczania w Qlik Talend Data Integration kontroluje ciągłe umieszczanie danych ze źródeł danych do strefy umieszczania. Przykład na diagramie opisuje użycie Brama danych Qlik — ruch danych w celu uzyskania dostępu do źródeł danych za pomocą CDC, aby utrzymać aktualność danych. Można również użyć połączeń źródłowych Qlik Cloud do wykonywania pełnych ładowań, które można zaplanować do okresowego przeładowywania.
Aby uzyskać informacje o tym, kiedy należy użyć Brama danych ruchu danych, zobacz Kiedy jest wymagana brama Brama danych ruchu danych?
InformacjaTabele w strefie umieszczania są generowane do użytku wewnętrznego przez zadania danych przechowywania Qlik Talend Data Integration. Nie należy używać tabel umieszczania w żadnych innych procesach podrzędnych. -
Przechowywanie
Zadanie przechowywania kontroluje, kiedy dane są stosowane do tabel przechowywania, a także tworzy tabele i widoki zewnętrzne oraz zarządza nimi.
-
Widoki zewnętrzne
Podczas konsumowania danych najlepszą praktyką jest używanie widoków. Widoki zapewniają kilka korzyści w porównaniu z tabelami, w tym lepszą współbieżność danych.
Korzystanie z widoków na żywo
Możesz uzyskać dostęp zarówno do bieżących danych (ODS), jak i danych historycznych (HDS) za pomocą widoków na żywo. Widoki na żywo obejmują dane z tabel zmian, które nie zostały jeszcze zastosowane do bieżących lub wcześniejszych tabel. Pozwala to na przeglądanie danych z mniejszym opóźnieniem bez konieczności częstego stosowania zmienionych danych. Możliwość opóźnienia scalania pozwala na zmniejszenie kosztów i wymagań dotyczących przetwarzania na platformie docelowej.
Kolejną korzyścią z widoków na żywo jest to, że warstwa obliczeniowa nie musi działać przez cały czas.
-
Umieszczanie może wskazywać na jawną hurtownię, która może być mała, ponieważ wykonuje tylko operacje INSERT w celu szybkiego wykonania.
-
Proces przechowywania, uruchamiany na przykład raz dziennie, może wybudzić dużą warstwę obliczeniową do przetwarzania.
-
Opóźnienie może ulec poprawie, ponieważ nie musimy już stosować zmian w ciągu dnia. Gdy wstawione nowe rekordy są dostępne w tabeli zmian, są one natychmiast dostępne w widokach na żywo.
Schematy
Artefakty są generowane w schemacie wewnętrznym i schemacie zadania danych.
-
Schemat wewnętrzny zawiera fizyczne tabele danych.
-
Schemat zadania danych zawiera widoki, których można użyć do konsumowania danych.
Gdy schemat jest powiązany z więcej niż jednym zadaniem danych, każde zadanie danych musi używać unikalnego prefiksu dla tabel i widoków. Prefiks można ustawić w ustawieniach zadania danych.
Tylko schematy wewnętrzne są sprawdzane pod kątem konfliktów nazw. W przypadku innych schematów należy upewnić się, że nie ma konfliktów nazw w nazwach tabel. Najlepszą praktyką jest nadanie schematowi wewnętrznemu takiej samej nazwy jak schemat zadania danych z dodanym _internal. To skutecznie zapewni, że każda kombinacja schematu i prefiksu będzie unikalna.
Schematy utworzone przez Qlik Talend Data Integration nie zostaną usunięte po usunięciu zadań lub projektów.
Tabele
Następujące tabele są tworzone w schemacie wewnętrznym.
-
Tabela bieżąca (ODS)
Ta tabela zawiera replikę źródła danych zaktualizowaną o zmiany podczas ostatniego interwału stosowania.
-
Tabela wcześniejsza (HDS)
Ta tabela zawiera dane historyczne typu 2. Jest ona generowana tylko wtedy, gdy opcja Historia jest włączona w ustawieniach zadania danych.
Gdy rekord tabeli źródłowej zostanie zaktualizowany, za każdym razem do wcześniejszej tabeli dodawany jest nowy rekord. Rekord historii jest kopią poprzedniego bieżącego rekordu, która zawiera również informacje o tym, co zostało zaktualizowane i kiedy było ważne.
Użyj widoku historii lub widoku historii na żywo, aby wyświetlić dane historyczne. Aby uzyskać więcej informacji, zobacz Widok historii i Widok historii na żywo.
-
Tabela zmian
Ta tabela zawiera wszystkie zmiany w odpowiedniej tabeli źródłowej od początku zadania i nigdy nie jest obcinana. Jest ona generowana tylko wtedy, gdy tryb umieszczania to Pełne ładowanie i CDC.
WskazówkaJeśli system obsługuje dużą liczbę zmian, rozważ okresowe obcinanie zastosowanych zmian z tabel zmian. Powinno to zmniejszyć zużycie zasobów i poprawić wydajność.
Po ponownym wstawieniu rekordu, który został wcześniej usunięty, a rekordy mają tę samą wartość klucza podstawowego, hdr__operation będzie miało wartość U - zaktualizowano.
Nazwy kolumn zaczynające się od hdr__ są zarezerwowane do użytku w kolumnach nagłówka przez Qlik Talend Data Integration. Aby uzyskać więcej informacji, zobacz Niejednoznaczne nazwy kolumn.
Tabela bieżąca
Nazewnictwo: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
Do struktury tabeli dodawane są następujące kolumny nagłówka.
| Pole | Typ | Opis |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Format skrótu to SHA1. Kolumny są oddzielone znakiem backspace. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
| hdr__from_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__inserted_timestamp | timestamp | Znacznik czasu UTC pierwszego dodania klucza. W przypadku korzystania z pełnego ładowania, czas rozpoczęcia pełnego ładowania. |
| hdr__modified_timestamp | timestamp | Znacznik czasu UTC zastosowania ostatniej aktualizacji. |
Tabela wcześniejsza
Dodawane są następujące pola nagłówka.
Nazewnictwo: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_prior
| Pole | Typ | Opis |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
| hdr__from_timestamp | timestamp |
Znacznik czasu w UTC |
| hdr__to_timestamp | timestamp |
Znacznik czasu w UTC |
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__was_current_from_timestamp | timestamp |
Znacznik czasu w UTC dla pierwszego razu, gdy rekord był bieżący. |
| hdr__was_current_to_timestamp | timestamp |
Znacznik czasu w UTC dla ostatniego razu, gdy rekord był bieżący. |
Tabela zmian
Nazewnictwo: <INTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_ct
Do struktury tabeli dodawane są następujące pola nagłówka.
| Pole | Typ | Opis |
|---|---|---|
| hdr__change_identifier | varchar(50) |
Identyfikator zmiany to ciąg znaków składający się z dwóch części:
|
| hdr__operation | varchar(1) |
Ostatnia operacja tego rekordu.
|
| hdr__timestamp | timestamp |
Znacznik czasu w UTC. |
| hdr__key_hash | binary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
Widoki
Następujące widoki są tworzone w schemacie docelowym zadania danych. To, które widoki zostaną utworzone, zależy od tego, czy włączono widoki na żywo i historię, oraz czy używana jest obsługa zmian.
-
Widok standardowy
-
Widok na żywo
-
Widok zmian
-
Widok historii
-
Widok historii na żywo
Widok standardowy
Nazewnictwo: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>
Do struktury tabeli nie są dodawane żadne kolumny nagłówka.
Widok na żywo
Widoki na żywo pokazują widok dla każdej wybranej tabeli źródłowej, który scala tabelę ze zmianami z tabeli zmian. Zapewnia to zapytaniom widok danych na żywo bez konieczności czekania na następny cykl stosowania. Zmiany scalone z widoku tabeli zmian nie są spójne transakcyjnie między tabelami.
Widoki na żywo są tworzone tylko wtedy, gdy włączysz opcję Widoki na żywo w ustawieniach zadania danych.
Nazewnictwo: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufiks dla widoków na żywo>
| Pole | Typ | Opis |
|---|---|---|
| hdr__key_hash | varbinary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Format skrótu to SHA1. Kolumny są oddzielone znakiem backspace. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
| hdr__from_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__inserted_timestamp | timestamp | Znacznik czasu UTC pierwszego dodania klucza. W przypadku korzystania z pełnego ładowania, czas rozpoczęcia pełnego ładowania. |
| hdr__modified_timestamp | timestamp | Znacznik czasu UTC zastosowania ostatniej aktualizacji. |
| hdr__store | varchar(10) |
Wskazuje to, gdzie znajduje się rekord.
|
Widok zmian
Jest to widok tabeli zmian w schemacie umieszczania dla każdej wybranej tabeli źródłowej.
Nazewnictwo: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
Do struktury tabeli dodawane są następujące pola nagłówka.
| Pole | Typ | Opis |
|---|---|---|
| hdr__change_identifier | string(50) |
Identyfikator zmiany to ciąg znaków składający się z dwóch części:
|
| hdr__from_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__to_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__timestamp | timestamp |
Znacznik czasu w UTC. |
| hdr__key_hash | binary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
Widok historii
Widok historii jest generowany w schemacie zasobu danych dla każdej wybranej tabeli źródłowej, jeśli opcja Historia jest włączona w ustawieniach zadania danych. Dodawane są następujące pola nagłówka.
Nazewnictwo: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufiks dla widoków historii>
| Pole | Typ | Opis |
|---|---|---|
| hdr__key_hash | binary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
| hdr__from_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__to_timestamp | timestamp |
Znacznik czasu w UTC
|
| hdr__was_current_from_timestamp | timestamp |
Znacznik czasu w UTC dla pierwszego razu, gdy rekord był bieżący. |
| hdr__was_current_to_timestamp | timestamp |
Znacznik czasu w UTC dla ostatniego razu, gdy rekord był bieżący. |
| hdr__store | varchar(7) |
Wskazuje to, gdzie znajduje się rekord.
|
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__deleted | bit |
Wskazuje, czy rekord został miękko usunięty, na podstawie tego, czy hdr__operation to D lub d. |
Widok historii na żywo
Widok historii na żywo jest generowany w schemacie zasobu danych dla każdej wybranej tabeli źródłowej scalonej ze zmianami z tabeli zmian. Dodawane są następujące pola nagłówka.
Nazewnictwo: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufiks dla widoków historii na żywo>
| Pole | Typ | Opis |
|---|---|---|
| hdr__key_hash | binary(20) |
Skrót wszystkich kluczy podstawowych rekordu. Ta kolumna nie jest generowana w zadaniach danych Hurtownia danych. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia danych. |
| hdr__store | varchar(10) |
Wskazuje to, gdzie znajduje się rekord.
|
| hdr__operation | string(1) |
Ostatnia operacja tego rekordu.
|
| hdr__deleted | bit |
Wskazuje, czy rekord został miękko usunięty, na podstawie tego, czy hdr__operation to D lub d. |