Arquitetura de conjunto de dados em um armazém de dados na nuvem
O Qlik Talend Data Integration permite criar, gerenciar e controlar um pipeline de dados analíticos, fornecendo dados o tempo todo aos consumidores. Quando você gera conjuntos de dados em um armazém de dados na nuvem com o Qlik Talend Data Integration, são geradas tabelas de armazenamento, tabelas de alterações e exibições.
Uma interface de usuário intuitiva e guiada ajuda você a criar, modelar e executar pipelines de dados. Gere esquemas automaticamente para armazenamentos de dados operacionais (ODS) e armazenamentos de dados históricos (HDS) sem codificação manual.
-
Aterrisagem
A tarefa de aterrissagem no Qlik Talend Data Integration controla a aterrissagem contínua de dados das fontes de dados para a zona de aterrissagem. O exemplo no diagrama descreve o uso do Qlik Data Gateway - Data Movement para acessar fontes de dados usando o CDC para manter os dados atualizados. Você também pode usar as conexões de origem do Qlik Cloud para realizar carregamentos totais que podem ser programados para recarregar periodicamente.
Para obter informações sobre quando você precisa usar o Data Movement gateway, consulte Quando o Data Movement gateway é necessário?
Nota informativaAs tabelas na zona de aterrisagem são geradas para uso interno pelas tarefas de dados de armazenamento do Qlik Talend Data Integration. Não use as tabelas de aterrisagem em nenhum outro processo de recebimento de dados. -
Armazenamento
A tarefa de armazenamento controla quando os dados são aplicados às tabelas de armazenamento e cria e gerencia as tabelas e exibições externas.
-
Exibições externas
Ao consumir dados, a prática recomendada é usar exibições. Exibições fornecem vários benefícios sobre as tabelas, incluindo simultaneidade de dados aprimorada.
Usando exibições ao vivo
Você pode acessar dados atuais (ODS) e dados históricos (HDS) usando exibições ao vivo. As exibições ao vivo incluem dados de tabelas de alterações que ainda não foram aplicadas às tabelas atuais ou anteriores. Isso permite que você veja os dados com menor latência sem precisar aplicar dados alterados com frequência. A capacidade de atrasar a mesclagem permite custos e requisitos de processamento reduzidos na plataforma de destino.
Outro benefício das exibições ao vivo é que a camada de computação não precisa ser executada o tempo todo.
-
A aterrissagem pode apontar para um armazém explícito que pode ser pequeno, pois apenas executa operações INSERT para uma execução rápida.
-
O processo de armazenamento, executado uma vez por dia, por exemplo, pode ativar uma grande camada de computação para processamento.
-
A latência pode ser melhorada, pois não precisamos mais aplicar alterações ao longo do dia. Quando novos registros inseridos ficam disponíveis na tabela de alterações, eles ficam disponíveis imediatamente nas exibições ao vivo.
Esquemas
Artefatos são gerados em um esquema interno e um esquema de tarefa de dados.
-
O esquema interno contém as tabelas de dados físicos.
-
O esquema de tarefa de dados contém as exibições que você pode usar para consumir os dados.
Quando um esquema está associado a mais de uma tarefa de dados, cada tarefa de dados deve usar um prefixo exclusivo para tabelas e exibições. Você pode definir o prefixo nas configurações da tarefa de dados.
Somente os esquemas internos são verificados quanto a conflitos de nomenclatura. Para outros esquemas, certifique-se de que não haja conflitos de nomenclatura nos nomes das tabelas. A melhor prática é nomear o esquema interno com o mesmo nome do esquema de tarefa de dados com _internal adicionado. Isso garantirá efetivamente que cada combinação de esquema e prefixo seja exclusiva.
Tabelas
As tabelas a seguir são criadas no esquema interno.
-
Tabela atual (ODS)
Esta tabela contém a réplica da fonte de dados atualizada com as alterações durante o intervalo de aplicação mais recente.
-
Tabela anterior (HDS)
Esta tabela contém dados históricos do tipo 2. Ela só é gerada se Histórico estiver habilitado nas configurações da tarefa de dados.
Quando um registro de tabela de origem é atualizado, um novo registro é adicionado à tabela anterior a cada vez. O registro de histórico é uma cópia do registro atual anterior, que também inclui o que foi atualizado e quando foi válido.
Use uma exibição do histórico ou uma exibição ao vivo do histórico para exibir dados históricos. Para obter mais informações, consulte Exibição de histórico e Exibição de histórico ao vivo.
-
Tabela de alterações
Esta tabela contém todas as alterações que ainda não foram aplicadas à tabela atual. Ela só é gerada se o modo de aterrissagem Carregamento total e CDC for usado.
Exibições
As exibições a seguir são criadas no esquema de destino da tarefa de dados. Quais exibições são criadas depende se você ativou exibições ao vivo e histórico e se usa manipulação de alterações.
-
Exibição atual
-
Exibição ao vivo
-
Exibição de alterações
-
Exibição de histórico
-
Exibição de histórico ao vivo
Exibição atual
Nomenclatura: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_current
As seguintes colunas de cabeçalho são adicionadas à estrutura da tabela.
Campo | Tipo | Descrição |
---|---|---|
hdr__key_hash | varbinary(20) |
Hash de todas as chaves primárias de registro. O formato de hash é SHA1. As colunas são separadas por um caractere de backspace. Esta coluna não é gerada em tarefas de dados do Datamart. |
hdr__key_id | int64 |
Sequência incrementada por registro. Esta coluna só é gerada em tarefas de dados do Datamart. |
hdr__from_timestamp | carimbo de data/hora |
Carimbo de data/hora em UTC
|
hdr__operation | string(1) |
Operação mais recente deste registro.
|
hdr__inserted_timestamp | carimbo de data/hora | Carimbo de data/hora em UTC da primeira vez em que a chave foi adicionada. Ao usar carregamento total, a hora de início do carregamento total. |
hdr__modified_timestamp | carimbo de data/hora | Carimbo de data/hora em UTC de quando a última atualização foi aplicada. |
Exibição ao vivo
Exibições ao vivo mostram uma exibição para cada tabela de origem selecionada que mescla a tabela com as alterações da tabela de alterações. Isso fornece às consultas uma exibição ao vivo dos dados sem ter que esperar pelo próximo ciclo de aplicação. As alterações mescladas da exibição da tabela de alterações não são consistentes com a transação entre as tabelas.
Exibições ao vivo só são criadas se você habilitar Exibições ao vivo nas configurações da tarefa de dados.
Nomenclatura: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições ao vivo>
Campo | Tipo | Descrição |
---|---|---|
hdr__key_hash | varbinary(20) |
Hash de todas as chaves primárias de registro. O formato de hash é SHA1. As colunas são separadas por um caractere de backspace. Esta coluna não é gerada em tarefas de dados do Datamart. |
hdr__key_id | int64 |
Sequência incrementada por registro. Esta coluna só é gerada em tarefas de dados do Datamart. |
hdr__from_timestamp | carimbo de data/hora |
Carimbo de data/hora em UTC
|
hdr__operation | string(1) |
Operação mais recente deste registro.
|
hdr__inserted_timestamp | carimbo de data/hora | Carimbo de data/hora em UTC da primeira vez em que a chave foi adicionada. Ao usar carregamento total, a hora de início do carregamento total. |
hdr__modified_timestamp | carimbo de data/hora | Carimbo de data/hora em UTC de quando a última atualização foi aplicada. |
hdr__store | varchar(10) |
Isso indica onde o registro reside.
|
Exibição de alterações
Esta é uma visão da tabela de mudança no esquema de destino para cada tabela de origem selecionada.
Nomenclatura: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>_changes
Os seguintes campos de cabeçalho são adicionados à estrutura da tabela.
Campo | Tipo | Descrição |
---|---|---|
hdr__change_identifier | string(50) |
O identificador de alteração é uma string com duas partes:
|
hdr__from_timestamp | carimbo de data/hora |
Carimbo de data/hora em UTC
|
hdr__to_timestamp | carimbo de data/hora |
Carimbo de data/hora em UTC
|
hdr__operation | string(1) |
Operação mais recente deste registro.
|
hdr__timestamp | carimbo de data/hora |
Carimbo de data/hora em UTC |
hdr__key_hash | binary(20) |
Hash de todas as chaves primárias de registro. Esta coluna não é gerada em tarefas de dados do Datamart. |
hdr__key_id | int64 |
Sequência incrementada por registro. Esta coluna só é gerada em tarefas de dados do Datamart. |
Exibição de histórico
Uma exibição de histórico é gerada no esquema de ativo de dados para cada tabela de origem selecionada se o Histórico estiver habilitado nas configurações da tarefa de dados. Os campos de cabeçalho a seguir são adicionados.
Nomenclatura: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições de histórico>
Campo | Tipo | Descrição |
---|---|---|
hdr__key_hash | binary(20) |
Hash de todas as chaves primárias de registro. Esta coluna não é gerada em tarefas de dados do Datamart. |
hdr__key_id | int64 |
Sequência incrementada por registro. Esta coluna só é gerada em tarefas de dados do Datamart. |
hdr__store | varchar(10) |
Isso indica onde o registro reside.
|
hdr__operation | string(1) |
Operação mais recente deste registro.
|
hdr__deleted | bit |
Indica se o registro é excluído de forma reversível, com base em se hdr__operation é D ou d. |
hdr__was _current_from_timestamp | carimbo de data/hora |
O carimbo de data/hora em UTC para o primeiro registro de hora era atual. |
hdr__was _current_to_timestamp | carimbo de data/hora |
O carimbo de data/hora em UTC para o último registro de hora era atual. |
Exibição de histórico ao vivo
Uma exibição dinâmica do histórico é gerada no esquema de ativo de dados para cada tabela de origem selecionada para cada tabela de origem selecionada mesclada com as alterações da tabela de alterações. Os campos de cabeçalho a seguir são adicionados.
Nomenclatura: <EXTERNAL_SCHEMA>.[<PREFIX>]<TABLE_NAME>< Sufixo para exibições de histórico ao vivo>
Campo | Tipo | Descrição |
---|---|---|
hdr__key_hash | binary(20) |
Hash de todas as chaves primárias de registro. Esta coluna não é gerada em tarefas de dados do Datamart. |
hdr__key_id | int64 |
Sequência incrementada por registro. Esta coluna só é gerada em tarefas de dados do Datamart. |
hdr__store | varchar(10) |
Isso indica onde o registro reside.
|
hdr__operation | string(1) |
Operação mais recente deste registro.
|
hdr__deleted | bit |
Indica se o registro é excluído de forma reversível, com base em se hdr__operation é D ou d. |