Integração e transformação de dados

Extraia, valide e transforme. Um ambiente único para todo o seu pipeline

Extração, transformação e carga (ETL) no mesmo canvas — com captura de mudanças em tempo real direto do log do banco. Você escreve o SQL; a lógica de incremental é do Januss.

14 dias grátis Sem cartão de crédito Workspace no ar em minutos
customers_360 ao vivo
pg customers extract · cdc
My orders extract · incr
fx customer_360 transform · sql
BQ bigquery load · upsert
3.2M linhas / exec
98.7% taxa de sucesso
2m 41s duração média
CDC em todos os planos

Captura de mudanças em tempo real vem desde o plano de entrada — não é um item de plano enterprise.

Você paga o que chega

A conta é por linha escrita no destino — não pelo que o pipeline precisou ler para chegar lá.

Teto por plano

Cada plano tem um máximo que a fatura não passa. Não é promessa de marketing — é o contrato.

Simule o seu volume e veja o plano, o excedente e o teto antes de assinar.

Calcular meu plano
Origens & destinos

Conecta onde seu dado já vive — e entrega onde ele vai ser usado.

O modo de sincronização é escolhido por tabela ou view. A mesma origem pode ter tabelas em carga completa, incremental e captura de mudanças ao mesmo tempo.

Origens

Bancos, planilhas e arquivos — mais qualquer API REST que você apontar

pgPostgreSQLCDC MyMySQLCDC MSSQL ServerCDC OrOracleCDC MMongoDBCDC GSGoogle Sheets {}Qualquer API REST /…Diretório de arquivos

Destinos

Bancos e warehouses — recebem carga, transformam e servem views

pgPostgreSQL MyMySQL MaMariaDB MSSQL Server OrOracle BQBigQuery SfSnowflake

Object storage — Parquet, CSV ou JSONL, para ler direto do caminho

S3Amazon S3 AzAzure Blob Storage GCGoogle Cloud Storage

Lakehouse — parquet no seu bucket, com transformação e upsert

DLDuckLake

Cada destino recebe o DDL escrito no dialeto nativo dele.

O problema

Integrar dados não deveria consumir seu time.

Quem cuida de dado acaba preso no mesmo ciclo: um script que alguém escreveu, um agendamento que ninguém revisa e uma ferramenta cara no meio. O resultado é sempre o mesmo — dado atrasado, número que não bate e gente cara apagando incêndio.

Scripts que quebram em silêncio

Cada integração vira um agendamento mais um script que ninguém quer manter. Quando quebra, você descobre pelo relatório errado — não por um aviso.

Gente cara mantendo encanamento

As horas que deveriam virar produto viram manutenção de pipeline. É o custo que não aparece em nenhuma licença — e é o maior de todos.

Senha de banco em texto plano

Credencial de produção guardada em claro dentro da ferramenta de integração é um incidente esperando data para acontecer.

Dado que não pode sair

Compliance impede seu banco de tocar a nuvem — e a maioria das ferramentas SaaS exige exatamente isso para funcionar.

O Januss junta as peças num fluxo visual só: da origem ao destino, com transformação em SQL rodando dentro do seu próprio banco, credencial que a plataforma nunca enxerga, e um Runner para quando o dado não pode sair da sua rede.

Tudo em um só fluxo

Todo o pipeline, sob controle.

Da origem ao destino — modele, agende e observe cada passo sem sair do canvas.

Pipelines que você desenha

Monte o fluxo de extração, transformação e carga arrastando as etapas. O grafo é validado antes de rodar e executa por níveis, em paralelo onde dá.

CDC — o banco avisa o que mudou

Sem isso, descobrir o que mudou significa reler a tabela inteira a cada execução. O Januss lê o log de transações do próprio banco — sem mais uma peça de infraestrutura para manter. Se o log rotacionar antes da leitura, a recarga é automática.

Transformação em SQL, no seu destino

As etapas de transformação rodam como SQL dentro do próprio banco de destino. Sem cluster para subir, sem mover o dado duas vezes — e só o escopo afetado é reprocessado.

Cada tabela no ritmo dela

Carga completa, incremental, espelhamento e histórico (SCD tipo 2) — escolhidos por tabela ou view. A mesma origem pode ter as quatro ao mesmo tempo. No histórico, cada mudança vira uma linha nova no destino, com início e fim de vigência e um marcador da versão ativa: a linha antiga não é sobrescrita, é fechada.

Dado errado não passa

Declare o que precisa ser verdade — não nulo, único, valores aceitos, integridade entre tabelas ou uma consulta sua. Se não bater, o pipeline para e o dado ruim não segue adiante. Sem ferramenta externa, sem projeto paralelo.

Avisa antes de você descobrir

Falhou? Você recebe e-mail com o erro e o link direto para a execução — e outro quando volta a funcionar. Depois de três falhas seguidas o pipeline se desliga sozinho, em vez de queimar sua franquia falhando em silêncio.

O modo histórico é o SCD tipo 2 (slowly changing dimension tipo 2) gerenciado pelo Januss: o relatório de março continua mostrando o que era verdade em março, mesmo depois de o cadastro mudar em agosto. As colunas de controle são criadas e mantidas pelo próprio Januss, e você escolhe o nome delas. Não é código de carga que o seu time precisa escrever e manter. Qual modo usar em cada tabela.

Como funciona

Três passos da origem ao dado pronto.

1 Conectar

Aponte para origem e destino

Um banco, uma planilha, uma API ou um diretório. O Januss lê o catálogo — tabelas e colunas — e testa a conexão antes de deixar você salvar.

2 Modelar

Diga o que o dado precisa virar

Mapeie colunas, encadeie regras de limpeza e escreva a transformação em SQL. O modo de sincronização é escolhido tabela a tabela.

3 Rodar

Agende e esqueça

Defina o agendamento e veja a prévia das próximas execuções antes de salvar. Cada execução registra status, duração e linhas por etapa — e falha manda e-mail.

Conector de API

Conecte qualquer API — o Januss escreve o conector.

Aponte para a spec OpenAPI ou para a própria documentação. O Januss gera o conector e o catálogo de tabelas, resolve a autenticação e a paginação, e valida com uma chamada real antes de salvar — sem você escrever código de cola.

  • Lê OpenAPI e Swagger — ou a documentação, quando não existe spec
  • Seis formas de autenticação, incluindo OAuth2 e login com token
  • Paginação e respostas aninhadas resolvidas sozinhas
  • Só salva depois de fazer a chamada de verdade e conseguir ler o dado que voltou — conector quebrado não entra no catálogo

A IA escreve o conector uma vez. Depois disso ele é determinístico: a extração roda sempre igual, sem IA no caminho do dado.

conectar · minha-api.yaml
lendo openapi.yaml … 48 endpoints encontrados
autenticação detectada: OAuth2 · bearer
paginação resolvida: cursor
catálogo gerado: charges (22 colunas)
validado com chamada real: 200 OK
pronto para extrair
Transformação

O incremental que não abre mão do resultado.

A cada execução, a tabela de destino fica idêntica, linha a linha, ao que uma recarga completa produziria. O incremental é otimização de custo — nunca troca de garantia. E a transformação roda como SQL dentro do banco de destino: tecnicamente isso é ELT, não o ETL clássico — o dado não sai para um motor separado e volta.

  • Reprocessa só o escopo que mudou — e apaga o que sumiu, que é onde upsert sozinho deixa lixo para trás
  • Quando não dá para isolar o escopo, ele reconcilia tudo em vez de errar — e avisa o motivo
  • SQL executado no banco de destino: sem cluster para provisionar, pagar e manter
  • Regras de limpeza encadeáveis por coluna — moeda, data, decimal, texto, expressão regular, mapa de valores — com política de erro coluna a coluna
transform · customer_360 regras de coluna
valor R$ 1.234,56 → 1234.56 máscara de moeda
status A · I → ativo · inativo mapa de valores
documento só dígitos erro → falha
executa no destino · dialeto nativo
MERGE INTO ouro.customer_360 t
USING tratado.customers s ON t.id = s.id
WHEN MATCHED THEN UPDATE SET-- incremental: só o escopo afetado é reconciliado
Qualidade de dados

O que falha no teste não segue adiante.

Declare o que precisa ser verdade e deixe o Januss parar o pipeline quando não bate — seja um dashboard, uma API ou um modelo que vai consumir esse dado. Sem ferramenta externa, sem projeto paralelo para manter.

testes · ouro.customer_360 5 de 5 passando
não nulo (customer_id) A coluna nunca vem vazia ✓ passou
único (order_id) Nenhum pedido duplicado ✓ passou
valores aceitos (status) Só os status que o negócio reconhece ✓ passou
relacionamento (pedidos → clientes) Todo pedido tem um cliente que existe ✓ passou
sql: pedidos_sem_item = 0 Qualquer regra sua, escrita em SQL ✓ passou

Cada teste pode parar o pipeline ou apenas avisar — você decide, teste a teste.

Onde seu dado fica

Suas credenciais, nem a gente vê.

As senhas dos seus bancos são cifradas no seu navegador, antes de sair da sua máquina. A plataforma guarda apenas o pacote cifrado e nunca o abre — só o executor, no instante da execução.

  • Cifra de ponta a ponta — a senha nunca trafega nem repousa em claro
  • Túnel SSH para bancos que não estão expostos na internet
  • A execução fica na região do seu workspace — Brasil ou Estados Unidos
  • E quando o dado não pode sair da sua rede, o Runner resolve

O Runner é instalado dentro da sua rede e fala com o Januss por uma única conexão de saída na porta 443. Extração, transformação e carga acontecem aí dentro — o dado nunca passa pela nuvem. Sem regra de firewall de entrada.

sua rede
DB seu banco nunca sai daqui
R Runner extrai · transforma · carrega
Januss só orquestra e agenda
Planos

Descubra sua conta antes de assinar.

Você paga pelas linhas gravadas no destino, somando todas as etapas que gravam. Cada plano inclui um volume, cobra por milhão adicional — e tem um teto que a fatura não passa.

Linhas escritas por mês

10 milhões

Growth

R$ 649/mês

Plano Linhas incluídas Intervalo mínimo Histórico Mensalidade Milhão adicional Teto da fatura
Starter1M1 hora7 diasR$ 249R$ 75R$ 549
Growth10M15 minutos30 diasR$ 649R$ 50R$ 1.399
Pro50M5 minutos6 mesesR$ 1.590R$ 25R$ 2.215
Business100M5 minutosilimitadoR$ 2.590R$ 12R$ 4.990
Enterprisesob medidasob medidailimitadosob consultanegociado

Todos os planos incluem captura de mudanças em tempo real, todas as origens e todos os destinos. O teto de cada plano é sempre menor que a mensalidade do plano seguinte — estourar o volume nunca sai mais caro que subir de degrau.

Como o uso é contado

Conta cada etapa que grava no destino — não só a extração. Gravou 1M na carga e mais 1,2M em duas transformações? São 2,2M de uso no ciclo, ainda que a origem seja a mesma.

Cada plano inclui uma franquia fixa de linhas. O que passar é cobrado por milhão adicional — e você acompanha o consumo em tempo real no dashboard.

uso do ciclo · linhas gravadas2,2M
extração1,0M
transformação · prata1,0M
transformação · ouro0,2M
total do ciclo2,2M

Ilustrativo — o consumo real aparece em tempo real no seu dashboard.

Contato

Vamos ver isso rodando com o seu dado.

Conversamos sobre o seu cenário, mostramos a plataforma em execução e — se fizer sentido — colocamos o primeiro pipeline no ar junto com o seu time. Você fala direto com quem constrói o produto.