Pular para o conteúdo

Integração e orquestração de dados

Seus dados saem do ERP e chegam prontos, com hora marcada.

O D4Controller conecta nos seus sistemas, organiza ingestão e tratamento em camadas com dbt e publica o resultado onde o painel consome. Cada tarefa declara de quem depende, então nada roda com dado pela metade.

d4controller · workflowreprodução da tela

Tarefas do workflow

9 tarefas organizadas pela ordem de execução.

TarefaExecutorPredecessoresEstadoAções
raw_dim_cliente#1 · BronzeSQL · SELECTInício do fluxoPronta
raw_dim_produto#2 · BronzeSQL · SELECTInício do fluxoPronta
raw_fat_movimento#3 · BronzeSQL · SELECTInício do fluxoPronta
Clique em uma camada para abrir as tarefas dela. A coluna Predecessores é o que impede uma tarefa de rodar antes da hora.
MicrosoftPartner NetworkMicrosoft for Startups — parceiro+20 tipos de fonte conectadosOrquestração em Airflow, transformação em dbt

Fontes

Conecta em qualquer ERP, banco ou API

Uma conexão por sistema, e a partir daí a ingestão lê direto da origem. Não importa qual ERP você usa: se ele expõe banco de dados, API ou arquivo, entra na esteira, inclusive sistema legado e desenvolvimento interno. Ninguém precisa exportar planilha à mão nem lembrar de rodar o processo na sexta-feira.

Os sistemas abaixo já estão em produção nos nossos projetos: mais de 20 tipos de fonte em 95 projetos de indústria e agroindústria.

Sistemas de gestão

  • Protheus
  • Datasul
  • RM
  • SAP
  • Sankhya
  • Senior
  • OMIE
  • Bling
  • Winthor
  • Questor
  • Mega
  • SIGE Cloud
  • Proxsis
  • o seu sistema

Bancos, arquivos e integrações

  • PostgreSQL
  • SQL Server
  • MySQL
  • Oracle
  • Firebird
  • APIs REST
  • Webhooks
  • Web scraping
  • Excel & CSV
  • Google Sheets
  • SharePoint
  • Power BI
  • Data Warehouse
  • SFTP

Como funciona

Quatro camadas, uma esteira só

Todo painel bonito depende de uma esteira invisível. Quando ela falha em silêncio, o número errado vira decisão errada. O D4Controller acende essa camada, do ERP ao dado pronto, com hora marcada e registro de tudo.

Bronze

Ingestões e fontes brutas

SQL · SELECT

Silver

Tratamento e padronização

dbt · build

Gold

Modelos analíticos

dbt · build

Saídas

Integrações e consumo

integração

conexões

Conecta na fonte, sem exportação manual

Uma conexão por sistema, seja um ERP de mercado, um legado interno ou um banco direto. A partir daí as ingestões leem da origem no horário combinado, e a credencial de acesso fica guardada em um lugar só, em vez de espalhada por scripts na máquina de alguém.

bronze

Bronze guarda o dado bruto

Cada ingestão é uma tarefa com executor próprio (SQL · SELECT na maioria dos casos) e traz a tabela do jeito que ela existe no sistema de origem. Nada é interpretado ainda, e é isso que permite reprocessar depois sem voltar ao ERP.

silver

Silver aplica a regra do seu negócio

Aqui entra o dbt: cada tratamento é um modelo versionado em arquivo, com dbt build como executor. Mudou um cálculo, mudou o arquivo, e o histórico mostra quando mudou e o que já tinha rodado com a regra anterior.

gold

Gold monta o modelo analítico

As tabelas que o painel realmente consulta. E é onde a dependência aparece explícita: a tarefa Gold declara Silver concluída como predecessor, então ela não tem como rodar antes da hora. Não é ordem por horário, é ordem por dependência.

saída

Saídas publicam só o que mudou

A base tem 4.218.640 linhas, e nesta janela 12.408 mudaram: a publicação move essas e para. É a diferença entre uma janela de 1h 47m e uma de 4m 11s, e ela continua curta quando a base cresce.

d4controller · janela 03:00concluídarepresentação
BRONZESILVERGOLDSAÍDASraw_dim_clienteraw_dim_produtoraw_fat_movimentodim_clientedim_produtosilver_tmp_movimentogold_dim_regionalgold_fat_vendassaida_d4hub
tarefas 9/9
linhas 248.867
falhas 0
03:03:12gold · dbt build gold_dim_regional
03:03:12gold · dbt build gold_fat_vendas
03:03:41gold_dim_regional concluído
03:03:55gold_fat_vendas · 12.408 linhas novas
03:03:56saída · publicação para o D4Hub
03:04:09saida_d4hub concluída
03:04:13janela concluída em 4m 11s · 0 falhas
Grafo e log são a mesma execução vista de dois jeitos. Um nó só acende quando todos os que apontam para ele terminaram.

A regra do negócio é um arquivo, não uma caixinha

Cada tratamento da Silver é um modelo dbt com SQL versionado em disco. Troque a camada no seletor abaixo e veja o caminho do arquivo e o seletor gerado mudarem: é assim que o D4Controller sabe o que rodar e onde a regra mora.

d4controller · transformaçãoreprodução da tela

Editar transformação

Modelo dbt · projeto data4_medallion

Recria e armazena a tabela a cada execução.

1-- data4:materialization2{{ config(materialized='table') }}3 4select5    cd_cliente::bigint,6    cliente_comp,7    nome_cliente,8    nome_fantasia,9    tipo,10    cpf_cnpj,11    status_cli,12    municipio_comp,13    uf,14    regiao_pais15from {{ ref('raw_dim_cliente') }}
O prefixo do cliente entra no nome do arquivo e no seletor, então dois clientes podem ter a mesma regra sem colidir.

Rastreabilidade

Quando uma fonte cai, o painel não mente

Toda execução deixa rastro. Se a ingestão falha às três da manhã, o que depende dela fica retido em vez de rodar com dado pela metade, e o alerta sai antes de o seu cliente abrir o relatório.

A fonte cai

Às 03:00:51 a ingestão raw_fat_movimento estoura o tempo na consulta SB2010. O log registra qual consulta, em qual tarefa e depois de quantos segundos. Não é “a carga falhou”: é o endereço do problema.

O que não acontece

silver_tmp_movimento e gold_fat_vendas ficam retidos, porque declaram o movimento como predecessor. E saida_d4hub não publica: o painel prefere ficar com o número de ontem a mostrar um número pela metade. O ramo de cadastros, que não dependia do movimento, terminou normal.

Reprocesso pontual

De manhã, com a fonte de pé, o reprocesso atinge o ramo do movimento e só ele. dim_cliente e dim_produto não rodam de novo, porque não precisam. O ramo se recupera em 2m 06s, sem repetir a janela inteira.

d4controller · reprocesso 07:12ramo raw_fat_movimentorepresentação
BRONZESILVERGOLDSAÍDASraw_dim_clienteraw_dim_produtoraw_fat_movimentodim_clientedim_produtosilver_tmp_movimentogold_dim_regionalgold_fat_vendassaida_d4hub
07:13:29raw_fat_movimento · 184.207 linhas
07:13:30silver · dbt build silver_tmp_movimento
07:14:02silver_tmp_movimento concluído
07:14:03gold · dbt build gold_fat_vendas
07:14:31gold_fat_vendas · 12.408 linhas novas
07:14:32saída · publicação para o D4Hub
07:14:45saida_d4hub concluída
07:14:46ramo recuperado em 2m 06s · dim_cliente e dim_produto não rodaram de novo
A aresta tracejada em vermelho é uma dependência que não foi cumprida. Tudo que vem depois dela fica retido, e é por isso que o painel não atualiza com dado incompleto.

A que falhou continua na lista

O histórico de execuções não esconde o que deu errado. Estado, horário de início e duração de cada uma, inclusive a que falhou depois de 9m 57s. É essa linha que você abre para descobrir o motivo.

d4controller · execuçõesreprodução da tela

Execuções recentes

Estado, início e duração de cada execução.

Últimas 4
DAGEstadoInícioDuraçãoTipo
dag_plano_comercial✓ success04/08 10:221m 30sagendada
dag_grupo_dw✓ success04/08 10:161m 21sagendada
dag_grupo_dw✕ failed04/08 10:069m 57smanual
dag_plano_cadastros✓ success04/08 06:3042sagendada
Cada execução com estado, horário e duração. A que falhou fica na lista como as outras.

Log por tarefa, com o resumo do erro e o horário exato

Alerta no WhatsApp assim que a janela fecha com falha

Reprocesso por ramo, não pela esteira toda

O que você vê

O ambiente inteiro em um painel

Não é preciso abrir o servidor para saber como foi a madrugada. Quantas fontes estão ligadas, o que cada ativo faz e qual foi o resultado da última execução cabe em uma tela. Se alguma coisa sair do lugar, o aviso chega antes de você ir procurar.

d4controller · visão geralreprodução da tela

Estrutura disponível

Itens ativos ao longo do fluxo de dados.

Visão geral

4

Conexões

96

Ingestões

10

Workflows

11

Agendamentos

Quantas fontes estão ligadas, quantas ingestões existem, quantos workflows as orquestram e quantos agendamentos disparam tudo isso.
d4controller · catálogo de dadosreprodução da tela

Dados

Ingestões e transformações em um único catálogo operacional.

10 ativo(s)Projeto principal
AtivoTipoFluxoÚltimo estadoAções
raw_dim_cliente#1 · sqlIngestãoCamada anteriorbronzeSucesso
raw_dim_produto#2 · sqlIngestãoCamada anteriorbronzeSucesso
raw_fat_movimento#3 · sqlIngestãoCamada anteriorbronzeSucesso
dbt_core_aux_campo_valor#4 · dbtTransformaçãoCamada anteriorsilverSucesso
dbt_core_dim_tipocliente#5 · dbtTransformaçãoCamada anteriorsilverSucesso
dim_cliente#6 · dbtDIMTransformaçãoCamada anteriorsilverSucesso
dim_produto#7 · dbtDIMTransformaçãoCamada anteriorsilverSucesso
silver_tmp_movimento#8 · dbtTransformaçãoCamada anteriorsilverFalha
gold_dim_regional#9 · dbtTransformaçãoCamada anteriorgoldSucesso
gold_fat_vendas#10 · dbtTransformaçãoCamada anteriorgoldSucesso
Ingestões e transformações no mesmo catálogo. Troque a aba ou digite na busca: o filtro funciona.
d4controller · agendamentosrepresentação
  • dag_plano_dw

    todo dia · 03:00

    29 tarefasem 6h 12m
  • dag_grupo_comercial

    a cada 2h · 08:00–20:00

    9 tarefasem 47m
  • dag_plano_fechamento

    dia 1 · 04:00

    14 tarefasem 9 dias
  • dag_grupo_cadastros

    seg a sex · 06:30

    6 tarefasem 9h 42m
Cada workflow com o horário em que roda e quanto falta para a próxima janela. Nada depende de alguém lembrar.
d4controller · alertarepresentação
Janela noturna fechou com 1 falha03:02:03
  • raw_fat_movimento · timeout na consulta SB2010
  • 3 tarefas retidas · saida_d4hub não publicou
  • ramo de cadastros concluído normalmente

enviado por WhatsApp e e-mail

O aviso sai no fim da janela, com o motivo e o alcance da falha. Você chega ao problema antes do seu cliente.

Funciona pro seu caso

Indústria, empresa, consultoria ou ERP — a esteira te encontra

Não existe versão da esteira por perfil: o que muda é o ponto em que ela entra na sua rotina. Reconheça a sua abaixo.

Indústria
Se uma fonte cai de madrugada, o indicador segura o número de ontem em vez de mostrar a produção pela metade — e o alerta chega antes da sua reunião de turno.
Empresa
Conexão, tratamento e carga rodam sozinhos, com registro de cada execução. O seu time abre o painel pronto — a esteira por trás dele não é problema seu.
Consultoria
Um ambiente por cliente, a mesma esteira e a mesma disciplina de execução para a carteira inteira, sem manter script na máquina de ninguém.
ERP e software
Lê direto do banco do seu produto, sem exportação e sem depender do seu time de dev. A base sai pronta para quem for consumir dentro da sua ferramenta.

Custo

Custo fixo, em máquina reservada

A esteira roda em ambiente dedicado, não numa fila compartilhada disputando capacidade com a carga de outro cliente. E a conta do mês que vem é igual à deste mês, com quantos workflows forem necessários.

Capacidade provisionadaD4Controller
1×2×4×janfevmarabrmaijunjulago

Escala relativa ao primeiro mês. O que muda entre os dois modelos é o formato da conta, não o valor de partida.

Licenciamento mensal

Custo fixo

O valor é definido depois de analisarmos o seu ambiente e a estrutura que a sua operação precisa. Definido uma vez, ele não muda: a mensalidade é a mesma independentemente do número de conexões, ingestões, transformações ou workflows.

Máquina reservada e dedicada

vCPU
8 núcleos
Memória
32 GB RAM
Disco
400 GB NVMe
Largura de banda
32 TB

Configuração de referência. O dimensionamento final sai da mesma análise que define o valor.

Um valor para a operação inteira

Não é por ingestão, não é por transformação e não é por volume processado. A operação cresce; a mensalidade fica onde está.

Sem degrau de capacidade

No modelo por capacidade provisionada cada degrau dobra o preço, e você paga também pelas horas em que a capacidade fica parada. Aqui não existe degrau.

Previsível no orçamento

A conta do mês que vem é igual à deste mês. Sem surpresa de consumo e sem fatura variável para explicar à diretoria no fechamento.

Ecossistema

Depois da esteira, o dado vira painel

A mesma casa entrega a camada de integração e o portal que consome ela. O que o Controller preparou durante a madrugada já chega ao D4Hub tratado, versionado e com o registro da execução junto.

Quem já opera assim

Indústrias de todo o Brasil

A esteira não é um produto de prateleira que a gente revende. É a mesma camada que sustenta os projetos de BI que a Data4Decision entrega desde o começo, agora disponível separada.

95+

projetos entregues

65+

clientes ativos

20+

tipos de fonte conectados

Dado governado, acesso controlado

Histórico versionado, repositório aberto para consulta e conformidade com a LGPD. Você sabe quem acessou o quê e com qual regra o número foi calculado.

Escala sem retrabalho

Fonte nova, regra nova ou modelo novo entram na esteira que já existe. A arquitetura cresce junto com o negócio em vez de ser refeita a cada salto.

Case · ERP ProManager

Proxsis

A Proxsis desenvolve o ProManager. O D4Controller lê direto do banco do produto deles, sem exportação, e entrega a base tratada para o D4Hub — que hoje renderiza os dashboards dentro da própria tela do ProManager, com a marca da Proxsis.

Trinta minutos para desenhar a sua esteira

É o tempo de mapearmos as suas fontes, entendermos onde a operação trava hoje e dizermos o que dá para automatizar primeiro. Sem compromisso.

resposta em até 24h úteis · seg a sex, 8h–18h