Dados de eventos de IoT, clickstream e telemetria de aplicativos impulsionam analítica e IA críticas em tempo real quando combinados com a Databricks Data Intelligence Platform. Tradicionalmente, a ingestão desses dados exigia vários saltos de dados (barramento de mensagens, jobs do Spark) entre a fonte de dados e o lakehouse. Isso adiciona sobrecarga operacional, duplicação de dados, exige conhecimento especializado e geralmente é ineficiente quando o lakehouse é o único destino para esses dados.
Assim que esses dados chegam ao lakehouse, eles são transformados e selecionados para casos de uso analíticos subsequentes. No entanto, as equipes frequentemente precisam usar esses dados analíticos para casos de uso operacionais, e construir esses aplicativos personalizados pode ser um processo trabalhoso. Elas precisam provisionar e manter componentes de infraestrutura essenciais, como uma instância de banco de dados OLTP dedicada (com rede, monitoramento, backups e muito mais). Além disso, elas precisam gerenciar o processo de ETL reverso dos dados analíticos no banco de dados para disponibilizá-los no aplicativo em tempo real. Isso exigiria que a equipe criasse pipelines adicionais para enviar dados do lakehouse para o banco de dados operacional externo. Esses pipelines aumentam a infraestrutura que os desenvolvedores precisam configurar e manter, o que, no geral, desvia a atenção deles do objetivo principal: criar os aplicativos para seus negócios.
Então, como o Databricks simplifica tanto a ingestão de dados no lakehouse quanto o fornecimento de dados ouro para dar suporte a cargas de trabalho operacionais?
É aí que entram o Zerobus Ingest e o Lakebase.
Zerobus Ingest, parte do Lakeflow Connect, é um conjunto de APIs que fornecem uma maneira simplificada de enviar dados de eventos diretamente para o lakehouse. Eliminando totalmente a camada de barramento de mensagens de coletor único, o Zerobus Ingest reduz a infraestrutura, simplifica as operações e oferece ingestão em tempo quase real em escala. Dessa forma, o Zerobus Ingest torna mais fácil do que nunca extrair o valor de seus dados.
O aplicativo produtor de dados deve especificar uma tabela de destino para gravar os dados, garantir que as mensagens sejam mapeadas corretamente para o esquema da tabela e, em seguida, iniciar uma transmissão para enviar dados para o Databricks. Do lado do Databricks, a API valida os esquemas da mensagem e da tabela, grava os dados na tabela de destino e envia uma confirmação ao cliente de que os dados foram persistidos.
Capacidade de ingestão do Zerobus | Especificações |
Latência de ingestão | Quase em tempo real (≤5 segundos) |
throughput máxima por cliente | Até 100 MB/s |
Clientes concorrentes | Milhares por tabela |
Atraso de sincronização contínua (Delta → Lakebase) | 10 a 15 segundos |
Latência do gravador ForeachWriter em tempo real | 200–300 milissegundos |
Lakebase é um banco de dados Postgres totalmente gerenciado, serverless e escalável, integrado à Plataforma Databricks, projetado para cargas de trabalho operacionais e transacionais de baixa latência que são executadas diretamente nos mesmos dados que potencializam casos de uso analíticos e de IA.
A separação completa de computação e armazenamento oferece provisionamento rápido e autoscale elástico. A integração do Lakebase com a Databricks Platform é um grande diferencial em relação aos bancos de dados tradicionais, porque o Lakebase disponibiliza os dados do Lakehouse diretamente para aplicações em tempo real e AI, sem a necessidade de pipelines de dados personalizados complexos. Ele foi criado para atender aos requisitos de criação de banco de dados, latência de consulta e simultaneidade para alimentar aplicações empresariais e cargas de trabalho de agentes. Por último, permite que os desenvolvedores façam facilmente o controle de versão e a branch de bancos de dados como se fossem código.
Juntas, essas ferramentas permitem que os clientes ingiram dados de vários sistemas diretamente nas tabelas Delta e implementem casos de uso de ETL reverso em escala. A seguir, exploraremos como usar essas tecnologias para implementar um aplicativo quase em tempo real!
Como exemplo prático, vamos ajudar a 'Data Diners', uma empresa de entrega de comida, a capacitar sua equipe de gestão com um aplicativo para monitorar a atividade dos drivers e as entregas de pedidos em tempo real. Atualmente, eles não têm essa visibilidade, o que limita sua capacidade de mitigar problemas à medida que surgem durante as entregas.
Por que uma aplicação em tempo real é valiosa?
Vamos ver como construir isso com o Zerobus Ingest, o Lakebase e os Databricks Apps na Data Intelligence Platform!

Esta arquitetura de ponta a ponta segue quatro estágios: (1) um produtor de dados usa o SDK do Zerobus para gravar eventos diretamente em uma tabela Delta no Databricks Unity Catalog. (2) um pipeline de sincronização contínua envia registros atualizados da tabela Delta para uma instância do Lakebase Postgres. (3) um backend FastAPI se conecta ao Lakebase via WebSockets para transmissão de atualizações em tempo real. (4) uma aplicação de front-end criada no Databricks Apps visualiza os dados ao vivo para os usuários finais.
Começando com nosso produtor de dados, o aplicativo "data diner" no celular do driver emitirá dados de telemetria de GPS sobre a localização do driver (coordenadas de latitude e longitude) a caminho da entrega dos pedidos. Esses dados serão enviados para um gateway de API, que, por fim, envia os dados para o próximo serviço na arquitetura de ingestão.
Com o SDK Zerobus, podemos escrever rapidamente um cliente para encaminhar eventos do gateway de API para nossa tabela de destino. Com a tabela de destino sendo atualizada em tempo quase real, podemos criar um pipeline de sincronização contínua para atualizar nossas tabelas do lakebase. Finalmente, aproveitando o Databricks Apps, podemos implantar um backend FastAPI que usa WebSockets para transmitir atualizações em tempo real do Postgres, juntamente com um aplicativo de front-end para visualizar o fluxo de dados ao vivo.
Antes da introdução do SDK Zerobus, a arquitetura de transmissão teria incluído múltiplos saltos antes que os dados chegassem à tabela de destino. Nosso gateway de API precisaria descarregar os dados para uma área de preparação como o Kafka, e precisaríamos do Spark Structured Streaming para gravar as transações na tabela de destino. Tudo isso adiciona complexidade desnecessária, especialmente considerando que o único destino é o lakehouse. Em vez disso, a arquitetura acima demonstra como a Databricks Data Intelligence Platform simplifica o desenvolvimento de aplicativos corporativos de ponta a ponta, desde a ingestão de dados até a analítica em tempo real e a implementação de aplicativos interativos.
Pré-requisitos: do que você precisa
Os dados de eventos produzidos pelos aplicativos cliente ficarão em uma tabela Delta. Use o código abaixo para criar essa tabela de destino no catálogo e esquema desejados.
O código abaixo envia os dados de eventos de telemetria para o Databricks usando a API Zerobus.
Atualmente, o Zerobus Ingest não oferece suporte a CDF. O CDF permite que o Databricks registre eventos de alteração para novos dados gravados em uma tabela delta. Esses eventos de alteração podem ser inserções, exclusões ou atualizações. Esses eventos de alteração podem ser usados para atualizar as tabelas sincronizadas no Lakebase. Para sincronizar dados com o Lakebase e continuar com nosso projeto, gravaremos os dados da tabela de destino em uma nova tabela e habilitaremos o CDF nessa tabela.
Para alimentar o aplicativo, vamos sincronizar os dados desta nova tabela habilitada para CDF em uma instância do Lakebase. Sincronizaremos esta tabela continuamente para dar suporte ao nosso painel em tempo quase real.

Na IU, selecionamos:
Isso garante que o aplicativo reflita os dados mais recentes com o mínimo de atraso.
Observação: Você também pode criar o pipeline de sincronização programaticamente usando o SDK do Databricks.
As sincronizações contínuas do Delta para o Lakebase têm um atraso de 10 a 15 segundos, portanto, se você precisar de menor latência, considere usar o modo em tempo real por meio do gravador ForeachWriter para sincronizar dados diretamente de um DataFrame para uma tabela do Lakebase. Isso sincronizará os dados em milissegundos.
Consulte o código do Lakebase ForeachWriter no Github.

Com seus dados sincronizados com o Lakebase, agora você pode implantar seu código para criar seu aplicativo. Neste exemplo, o aplicativo busca dados de eventos do Lakebase e os usa para atualizar um aplicativo em tempo quase real para rastrear a atividade do driver durante as entregas de comida. Leia a documentação de introdução ao Databricks Apps para saber mais sobre a criação de aplicativos no Databricks.
Confira mais tutoriais, demonstrações e aceleradores de soluções para criar seus próprios aplicativos para suas necessidades específicas.
Saiba mais sobre o Zerobus Ingest, o Lakebase e o Databricks Apps na documentação técnica. Você também pode dar uma olhada no Livro de receitas do Databricks Apps e na Coleção de recursos do livro de receitas.
IoT, clickstream, telemetria e aplicativos semelhantes geram bilhões de pontos de dados todos os dias, que são usados para alimentar aplicativos críticos em tempo real em várias indústrias. Dessa forma, simplificar a ingestão a partir desses sistemas é fundamental. O Zerobus Ingest oferece uma maneira simplificada de enviar dados de eventos diretamente desses sistemas para o lakehouse, garantindo alto desempenho. Ele combina bem com o Lakebase para simplificar o desenvolvimento de aplicativos corporativos de ponta a ponta.
(Esta publicação no blog foi traduzida utilizando ferramentas baseadas em inteligência artificial) Publicação original
