Arquitetura do Qlik Open Lakehouse
O Qlik Open Lakehouse fornece uma solução completa e totalmente gerenciada no Qlik Talend Cloud para ingerir, processar e otimizar dados em um lakehouse baseado no Iceberg. Essa solução oferece desempenho de consulta de baixa latência e operações de dados eficientes em escala.
A arquitetura do Qlik Open Lakehouse combina comunicação segura, computação escalonável e processamento eficiente de dados para oferecer uma experiência moderna de lakehouse. O Qlik Open Lakehouse aproveita os componentes nativos da AWS, incluindo EC2, S3 e Kinesis.
Componentes principais
As entidades a seguir são necessárias para criar um Qlik Open Lakehouse.
Data Movement Gateway (CDC)
O Data Movement gateway é executado em seu ambiente local ou em nuvem. Ele captura alterações de sistemas de origem, como RDBMS, SAP ou mainframes, e envia os dados para uma zona de aterrisagem do Amazon S3.
Agente de integração de rede (instância do EC2)
O agente de integração de rede é uma instância do EC2 que facilita a comunicação segura entre os serviços do Qlik na nuvem e os clusters do lakehouse em seu ambiente. O agente é implementado automaticamente como uma instância On-Demand durante o processo de integração de rede e totalmente gerenciado pelo Qlik. As novas versões são implementadas automaticamente no lançamento.
Quando a integração da rede funciona corretamente, o status de Conectado é exibido na exibição Clusters do lakehouse no Centro de Atividades de Administração. O status muda para Desconectado se houver problemas de conexão.
Cluster do lakehouse (Grupo de dimensionamento automático do EC2)
O cluster do lakehouse é um grupo de instâncias do EC2 da AWS responsáveis pelo processamento de dados. As instâncias do cluster coordenam e executam as cargas de trabalho para processar dados recebidos da área de aterrissagem e, após o processamento, armazenam os dados no local de destino no formato do Iceberg.
Um cluster de lakehouse com uma única instância Spot da AWS é criado automaticamente durante a configuração de sua integração de rede. Você pode gerenciar e criar clusters adicionais para atender às suas necessidades contínuas de lakehouse. Ao configurar um cluster, você concede ao Qlik permissão para criar, iniciar, parar, dimensionar ou reverter os servidores para atender aos requisitos de processamento de dados. Cada cluster está associado a uma única integração de rede, embora vários clusters possam ser executados na mesma integração de rede. Um único cluster pode executar muitas tarefas de lakehouse.
Uma Instância Spot da AWS usa capacidade extra do Amazon EC2 a um custo menor do que instâncias regulares, mas pode ser interrompida pela AWS sem aviso prévio. Por padrão, a Qlik usa instâncias Spot efêmeras para processamento de dados. Se não houver instâncias spot suficientes disponíveis no AWS Spot Market, a Qlik usará automaticamente instâncias sob demanda para garantir a continuidade. O sistema reverte para instâncias Spot quando elas se tornam disponíveis. A tecnologia de cluster da Lakehouse foi projetada para fazer uma transição suave entre as instâncias Spot e On-Demand, movendo os trabalhos entre os nós. Esse processo ocorre automaticamente, sem necessidade de intervenção manual. Nas configurações do cluster, você pode configurar quantas instâncias Spot e On-Demand devem ser usadas no cluster. A utilização de instâncias Spot ajuda a reduzir os custos contínuos de computação do seu Qlik Open Lakehouse.
Além de definir o número de instâncias Spot e On-Demand a serem usadas, você pode configurar uma estratégia de dimensionamento que melhor se adapte à carga de trabalho e ao orçamento do seu projeto. As estratégias de dimensionamento a seguir podem ser aplicadas a um cluster:
-
Baixo custo: ideal para ambientes de desenvolvimento ou controle de qualidade e cargas de trabalho que não dependem de dados novos e em tempo real. O Qlik se esforça para manter o custo o mais baixo possível, resultando em períodos ocasionais de alta latência.
-
Baixa latência: projetado para cargas de trabalho sem missão crítica em que a atualização de dados quase em tempo real é aceitável. Embora essa estratégia vise à baixa latência, podem ocorrer breves picos.
-
Baixa latência consistente: adequado para ambientes de produção com dados em alta escala que precisam ter dados atualizados em tempo real. O Qlik dimensiona proativamente as instâncias para garantir baixa latência, o que pode gerar custos mais altos.
-
Sem dimensionamento: uma boa opção para cargas de trabalho que processam um volume consistente de dados. Selecione essa opção para manter um número estático de instâncias sem dimensionamento automático e com custos previsíveis.
Fluxo do Kinesis (coordenação da carga de trabalho)
O Qlik requer um fluxo do Kinesis para coletar e retransmitir o estado de cada servidor no cluster do lakehouse. Os servidores informam o status das tarefas e as métricas operacionais, como CPU e memória, diretamente ao Kinesis, pois os servidores não se comunicam entre si. Cada servidor pesquisa dados do fluxo do Kinesis para descobrir informações sobre os outros servidores do cluster. Essa troca de informações permite a sincronização do trabalho.
Compartimentos do Amazon S3
Os compartimentos do Amazon S3 são usados da seguinte forma:
-
Aterrisando compartimento de dados: os dados brutos da CDC são aterrisados em um compartimento S3 antes da transformação.
-
Compartimento de configuração: armazena metadados e configurações usados pelo sistema do lakehouse.
-
Armazenamento em tabelas do Iceberg: os dados são armazenados e otimizados em tabelas no formato do Iceberg.
Fluxo de alto nível
Configuração inicial
-
VPC e provisionamento de infraestrutura - configure uma VPC em sua conta da AWS juntamente com sub-redes, compartimentos S3, fluxos do Kinesis e funções de IAM seguindo as instruções da documentação do Qlik.
-
Configuração da integração de rede - o administrador de locatários cria uma integração de rede no Qlik Talend Cloud usando detalhes de infraestrutura provisionados anteriormente.
-
Implementação de componentes Qlik - o Qlik provisiona automaticamente o gateway de plano de dados e um cluster de lakehouse em sua VPC.
-
Estabelecer comunicação - o gateway do plano de dados estabelece com segurança a comunicação com o Qlik Talend Cloud.
-
Implementação do gateway - implemente um Data Movement Gateway (CDC), seja no local ou em seu ambiente de nuvem, incluindo a VPC do plano de dados.
-
Pronto para operar - você pode criar e gerenciar projetos e tarefas do Qlik Open Lakehouse de acordo com suas permissões de acesso quando a configuração estiver concluída.
Criando um projeto do Qlik Open Lakehouse
Os seguintes tipos de tarefas estão disponíveis:
Aterrisando uma tarefa de dados
-
Configuração da fonte - o Data Movement gateway é configurado para capturar alterações de sistemas de origem, incluindo RDBMS, SAP, mainframes e outros.
-
Aterrisagem de dados - a tarefa de CDC envia continuamente dados brutos de alterações para o compartimento de aterrisagem S3 designado em sua conta da AWS.
Tarefa de armazenamento de dados
-
Registre uma conexão de catálogo do Iceberg, por exemplo, o AWS Glue Data Catalog.
-
Definir uma tarefa de armazenamento no Qlik Talend Cloud.
-
O Qlik Talend Cloud envia definições de tarefas para o gateway do plano de dados.
-
O gateway do plano de dados encaminha com segurança as instruções da tarefa para o cluster do lakehouse Qlik.
-
O cluster lê continuamente os dados brutos de um compartimento de aterrisagem no S3, processa-os e grava a saída nas tabelas do Iceberg no S3.
-
O cluster do lakehouse aumenta ou diminui automaticamente com base na carga, de acordo com as preferências predefinidas nas configurações do cluster do lakehouse.
-
Os dados de monitoramento são enviados para o Qlik Talend Cloud, e os registros e métricas são encaminhados para o Qlik.
Tarefa de dados de espelhamento
Você pode criar tabelas externas do Iceberg para permitir a consulta de dados armazenados no seu data lake a partir do Snowflake sem duplicar. Isso permite que você use o gerenciador de mecanismo de análise Snowflake sobre os dados gerenciados pelo Iceberg armazenados em formatos como o Parquet no S3. Ao referenciar tabelas externas em vez de duplicar dados para o Snowflake, isso reduz os custos de armazenamento, mantém uma única fonte de verdade e garante a consistência entre os ambientes de lakehouse e warehouse.
A comunicação entre sua integração de rede e o Qlik Talend Cloud
A integração de rede estabelece uma conexão segura de saída (HTTPS) para o Qlik Talend Cloud. Após a aceitação bem-sucedida, a conexão é convertida em um soquete da web seguro (WSS). Um canal de comunicação adicional e dedicado (WSS) é estabelecido entre a integração da rede e o Qlik Talend Cloud para receber comandos e controles de tarefas específicos do lakehouse. Periodicamente, a integração da rede estabelece uma conexão segura (HTTPS) com o Qlik Talend Cloud para receber e enviar eventos relacionados a dados. As métricas e os registros são enviados para o Qlik dos clusters do lakehouse.
As medidas a seguir são tomadas para garantir a segurança de seus dados:
-
Todas as conexões da sua integração de rede para o Qlik Talend Cloud são de saída. Não é necessário acesso de entrada.
-
Metadados, comandos e solicitações de controle são transmitidos usando canais de comunicação protegidos com HTTPS, criando uma camada adicional de criptografia entre a integração da rede e o Qlik Talend Cloud.
-
Todos os dados fluem entre recursos de sua propriedade. Os dados nunca são enviados para o Qlik Talend Cloud. Metadados, como nomes de tabelas e colunas, por exemplo, são enviados para o Qlik Talend Cloud para permitir definições de tarefas.
-
Os dados são anonimizados antes de serem enviados para o Qlik. O Qlik usa dados anonimizados para oferecer suporte proativo caso os registros ou métricas indiquem um problema.