Data Lake
O Data Lake é um espaço de armazenamento próprio do NEXUS Flow. Em vez de apenas processar a informação e descartá-la no fim do fluxo, você pode guardá-la para usar depois — em outro fluxo, em um relatório, ou para acompanhar a evolução de algo ao longo do tempo.
Diferente do nó Banco SQL (que fala com um banco externo), o Data Lake é interno: você não precisa de servidor, credencial nem configuração — é só dar um nome ao conjunto de dados e começar a gravar.
Para que serve
- Compartilhar dados entre fluxos. Um fluxo grava o resultado num dataset; outro fluxo lê esse resultado e continua o trabalho. Os dois ficam independentes — cada um roda no seu ritmo, sem precisar se conhecer.
- Acumular histórico. Sistemas costumam sobrescrever os dados (o saldo de hoje apaga o de ontem). Gravando no Data Lake periodicamente, você mantém o histórico para conferências, relatórios e séries ao longo do tempo.
Datasets
Um dataset é um conjunto de dados com um nome — pense numa "planilha" guardada no
Data Lake (vendas_diarias, clientes, eventos). Use letras minúsculas, números e
_ no nome (ex.: vendas_diarias).
Cada linha guardada preserva o item inteiro — nenhum campo se perde. Você pode, opcionalmente, declarar colunas (com tipo: texto, número, etc.) ao criar o dataset; isso ajuda a organizar e filtrar, mas os campos que você não declarar continuam guardados do mesmo jeito.
Toda linha ganha automaticamente a data em que foi gravada e a indicação de qual fluxo a gerou — útil para ordenar pelo mais recente e para rastrear a origem.
Os nós do Data Lake
Data Lake (gravar)
Guarda os items que chegam num dataset. Tem dois modos:
- Acrescentar (append): cada execução adiciona novas linhas. Ideal para histórico e eventos (nada é sobrescrito).
- Upsert por chave: você indica um campo-chave (ex.:
id). Se já existir uma linha com aquela chave, ela é atualizada; senão, é criada. Evita duplicatas quando o mesmo registro passa mais de uma vez.
Se o dataset ainda não existir, o nó pode criá-lo automaticamente.
Data Lake (ler)
Lê os items de um dataset. Você pode filtrar (campo = valor), ordenar e limitar a quantidade. Cada linha lida vira um item, e o fluxo segue normalmente a partir daí.
Data Lake (linhas novas)
É o gatilho que fecha o ciclo um fluxo alimenta, outro consome: no intervalo que você definir, ele dispara o fluxo apenas com as linhas que apareceram desde a última execução bem-sucedida, sem que você precise controlar nada manualmente. Os campos e o comportamento em caso de falha estão em Gatilhos.
Data Lake (SQL)
Para casos mais avançados, executa SQL diretamente sobre os dados guardados. Um
SELECT traz as linhas (uma por item); um INSERT ou UPDATE edita os dados. As
tabelas dos datasets têm o prefixo dl_ (ex.: dl_vendas).
A edição por SQL (INSERT/UPDATE) exige que a instância tenha o banco dedicado do Data Lake configurado. Sem ele, o SQL fica disponível apenas para leitura (SELECT) e alcança somente as tabelas dos seus datasets, as que começam com
dl_. Fale com o administrador da sua instância se precisar habilitar a escrita.
O padrão "produtor → consumidor"
Fluxo A → Data Lake (gravar) ──► dataset "pedidos" ──► Data Lake (linhas novas) → Fluxo B
- O Fluxo A coleta ou produz dados e os grava num dataset.
- O Fluxo B começa pelo gatilho Data Lake (linhas novas) apontando para o mesmo dataset.
- Sempre que o Fluxo A adicionar linhas, o Fluxo B acorda no próximo intervalo e processa só o que é novo.
Assim você quebra uma automação grande em partes menores e independentes — mais fáceis de entender, testar e manter.
A tela do Data Lake
No menu Data Lake você vê todos os datasets com a quantidade de linhas, o modo e a retenção. A partir dela você pode:
- Criar um dataset (com colunas declaradas opcionais).
- Abrir um dataset para consultar as linhas guardadas: busque por qualquer texto, filtre por um campo, ordene pela coluna que quiser e escolha quantas linhas ver por página.
- Adicionar coluna… a um dataset que já existe — as linhas antigas continuam como estão. Colunas declaradas não são removidas; se precisar mudar a estrutura, crie um dataset novo.
- Purgar além da retenção para remover o que passou do prazo.
- Abrir o Console SQL para consultar (e, se habilitado, editar) os dados com SQL.
Retenção
Cada dataset pode ter uma retenção (em dias). A qualquer momento você remove o que passou desse prazo pelo item Purgar além da retenção, no menu de ações do dataset — as linhas removidas não voltam. Para que essa limpeza aconteça sozinha, peça ao suporte LBHM para agendar a rotina de retenção na sua instância.
Use a retenção para datasets que funcionam como uma "fila" entre fluxos (onde os dados antigos já foram consumidos e não precisam mais ser guardados) — assim o dataset não cresce sem limite.
Boas práticas
- Histórico → append; integração ponto-a-ponto → upsert (para não duplicar).
- Para grandes volumes, filtre ou resuma na origem e grave só o que interessa — fica mais leve para os fluxos que vão consumir.
- Defina retenção nos datasets de "fila", para não acumular dados já processados.
- Dê nomes claros aos datasets (
vendas_diarias,nfse_emitidas) — eles aparecem em vários fluxos.
Veja também os gatilhos, os nós de dados e lógica e as execuções para acompanhar o que cada fluxo gravou.