Construir ferramentas internas ou aplicações alimentadas por IA do modo "tradicional" coloca os desenvolvedores em um labirinto de tarefas repetitivas e propensas a erros. Primeiro, eles devem iniciar uma instância dedicada do Postgres, configurar a rede, backups e monitoramento, e então passar horas (ou dias) integrando esse banco de dados ao framework front-end que estão usando. Além disso, eles precisam escrever fluxos de autenticação personalizados, mapear permissões granulares e manter esses controles de segurança sincronizados em toda a interface do usuário, camada de API e banco de dados. Cada componente da aplicação vive em um ambiente diferente, desde um serviço de nuvem gerenciado até uma VM auto-hospedada. Isso força os desenvolvedores a gerenciar pipelines de implantação distintos, variáveis de ambiente e lojas de credenciais. O resultado é uma pilha fragmentada onde uma única mudança, como uma migração de esquema ou um novo papel, reverbera em vários sistemas, exigindo atualizações manuais, testes extensivos e coordenação constante. Todo esse excesso de trabalho desvia os desenvolvedores do verdadeiro valor agregado: construir as características e inteligência principais do produto.
Com o Databricks Lakebase e os Apps Databricks, toda a pilha de aplicação fica junta, ao lado do lakehouse. Lakebase é um banco de dados Postgres totalmente gerenciado que oferece leituras e gravações de baixa latência, integrado com as mesmas tabelas lakehouse subjacentes que alimentam suas cargas de trabalho de análise e IA. Databricks Apps fornece um tempo de execução sem servidor para a interface do usuário, juntamente com autenticação integrada, permissões detalhadas e controles de governança que são automaticamente aplicados aos mesmos dados que o Lakebase serve. Isso facilita a construção e implantação de aplicativos que combinam estado transacional, análises e IA sem a necessidade de juntar várias plataformas, sincronizar bancos de dados, replicar pipelines ou conciliar políticas de segurança entre sistemas.
Lakebase e Databricks Apps trabalham juntos para simplificar o desenvolvimento full-stack na plataforma Databricks:
Ao combinar os dois, você pode construir ferramentas interativas que armazenam e atualizam o estado no Lakebase, acessam dados governados no lakehouse e servem tudo através de uma interface de usuário segura e sem servidor, tudo sem gerenciar infraestrutura separada. No exemplo abaixo, mostraremos como construir um simples aplicativo de aprovação de solicitação de férias usando essa configuração.
Este tutorial mostra como criar um simples aplicativo Databricks que ajuda os gerentes a revisar e aprovar solicitações de férias de sua equipe. O aplicativo é construído com Databricks Apps e usa o Lakebase como o banco de dados de backend para armazenar e atualizar as solicitações.

Aqui está o que a solução abrange:
O tutorial é projetado para ajudá-lo a começar rapidamente com um exemplo de trabalho mínimo. Mais tarde, você pode estendê-lo com uma configuração mais avançada.
Antes de construir o aplicativo, você precisará criar um banco de dados Lakebase. Para fazer isso, vá para a aba Compute, selecione OLTP Database, e forneça um nome e tamanho. Isso provisiona uma instância Lakebase sem servidor. Neste exemplo, nossa instância de banco de dados é chamada lakebase-demo-instance.

Agora que temos um banco de dados, vamos criar o Databricks App que se conectará a ele. Você pode começar com um aplicativo em branco ou escolher um modelo (por exemplo, Streamlit ou Flask). Depois de nomear seu aplicativo, adicione o Banco de dados como um recurso. Neste exemplo, o databricks_postgres banco de dados pré-criado é selecionado.
Adicionando o recurso de banco de dados automaticamente:
Este papel será usado posteriormente para conceder acesso ao nível da tabela.

Com o banco de dados provisionado e o app conectado, agora você pode definir o esquema e a tabela que o app usará.
Do Ambiente do aplicativo, copie o valor da variável DATABRICKS_CLIENT_ID. Você precisará disso para as declarações GRANT.
Vá para a sua instância Lakebase e clique em Nova Consulta. Isso abre o editor SQL com o endpoint do banco de dados já selecionado.

Por favor, note que, embora o uso do editor SQL seja uma maneira rápida e eficaz de realizar esse processo, o gerenciamento de esquemas de banco de dados em grande escala é melhor realizado por ferramentas dedicadas que suportam versionamento, colaboração e automação. Ferramentas como Flyway e Liquibase permitem que você rastreie mudanças de esquema, integre com pipelines CI/CD e garanta que a estrutura do seu banco de dados evolua com segurança junto com o código do seu aplicativo.
Com as permissões em vigor, agora você pode construir seu app. Neste exemplo, o app busca solicitações de férias do Lakebase e permite que um gerente as aprove ou rejeite. As atualizações são escritas de volta na mesma tabela.

Use SQLAlchemy e o SDK Databricks para conectar seu app ao Lakebase com autenticação segura baseada em token. Quando você adiciona o recurso Lakebase, PGHOST e PGUSER são expostos automaticamente. O SDK lida com o armazenamento em cache de tokens.
As seguintes funções lêem e atualizam a tabela de solicitação de férias:
Os trechos de código acima podem ser usados em combinação com frameworks como Streamlit, Dash e Flask para extrair os dados do Lakebase e visualizá-los em seu aplicativo. Para garantir que todas as dependências necessárias estejam instaladas, adicione os pacotes necessários ao arquivo requirements.txt do seu aplicativo. Os pacotes usados nos trechos de código estão listados abaixo.
Lakebase adiciona capacidades transacionais ao lakehouse integrando um banco de dados OLTP totalmente gerenciado diretamente na plataforma. Isso reduz a necessidade de bancos de dados externos ou pipelines complexos ao construir aplicações que exigem tanto leituras quanto gravações.

Porque está integrado nativamente com Databricks, incluindo sincronização de dados, autenticação de identidade e segurança de rede - assim como outros ativos de dados no lakehouse. Você não precisa de ETL personalizado ou ETL reverso para mover dados entre sistemas. Por exemplo:
Essas capacidades facilitam o suporte a casos de uso de nível de produção como:
Lakebase já está sendo usado em várias indústrias para aplicações incluindo recomendações personalizadas, aplicações de chatbot e ferramentas de gerenciamento de fluxo de trabalho.
Se você já está usando Databricks para análises e IA, Lakebase facilita a adição de interatividade em tempo real aos seus aplicativos. Com suporte para transações de baixa latência, segurança integrada e integração estreita com os Apps Databricks, você pode ir do protótipo à produção sem sair da plataforma.
Lakebase fornece um banco de dados Postgres transacional que funciona perfeitamente com Databricks Apps e oferece fácil integração com os dados do Lakehouse. Ele simplifica o desenvolvimento de aplicativos de dados e IA completos, eliminando a necessidade de sistemas OLTP externos ou etapas de integração manual.
Neste exemplo, mostramos como:
O Lakebase agora está em Visualização Pública. Você pode experimentá-lo hoje diretamente do seu espaço de trabalho Databricks. Para detalhes sobre uso e preços, consulte a Lakebase e Apps documentação.
(This blog post has been translated using AI-powered tools) Original Post
Produto
June 11, 2024/11 min de leitura

