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. Kiedy generujesz zestawy 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 budować, modelować i wykonywać potoki danych. Automatycznie generuj schematy dla operacyjnych magazynów danych (ODS) i historycznych magazynów danych (HDS) bez ręcznego kodowania.
Architektura potoku danych Qlik Talend Data Integration z wykorzystaniem 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 w strefie 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żesz również użyć połączeń źródłowych Qlik Cloud, aby wykonać pełne ładowania, 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 używaj tabel umieszczania w żadnych innych procesach niższego szczebla. -
Przechowywanie
Zadanie przechowywania kontroluje, kiedy dane są stosowane do tabel przechowywania, oraz tworzy i zarządza tabelami i widokami zewnętrznymi.
-
Widoki zewnętrzne
Podczas korzystania z 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 korzystania z 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.
-
Bieżąca tabela (ODS)
Ta tabela zawiera replikę źródła danych zaktualizowaną o zmiany podczas ostatniego interwału stosowania.
-
Wcześniejsza tabela (HDS)
Ta tabela zawiera dane historyczne typu 2. Jest generowana tylko wtedy, gdy opcja Historia jest włączona w ustawieniach zadania danych.
Gdy rekord tabeli źródłowej jest aktualizowany, 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, które nie zostały jeszcze zastosowane do bieżącej tabeli. Jest generowana tylko wtedy, gdy używany jest tryb umieszczania Pełne ładowanie i CDC.
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.
Bieżąca tabela
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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
| 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. |
Wcześniejsza tabela
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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
| 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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
| 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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
| 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 tematyczna. |
| hdr__key_id | int64 |
Sekwencja zwiększana dla każdego rekordu. Ta kolumna jest generowana tylko w zadaniach danych Hurtownia tematyczna. |
| 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. |