Costruire strumenti interni o applicazioni basate sull'IA nel modo "tradizionale" getta gli sviluppatori in un labirinto di attività ripetitive e soggette a errori. Innanzitutto, devono avviare un'istanza Postgres dedicata, configurare rete, backup e monitoraggio, e poi passare ore (o giorni) a integrare quel database nel framework front-end che stanno utilizzando. Oltre a ciò, devono scrivere flussi di autenticazione personalizzati, mappare autorizzazioni granulari e mantenere questi controlli di sicurezza sincronizzati tra l'interfaccia utente, il livello API e il database. Ogni componente dell'applicazione risiede in un ambiente diverso, da un servizio cloud gestito a una VM self-hosted. Ciò costringe gli sviluppatori a destreggiarsi tra pipeline di deployment disparate, variabili d'ambiente e archivi di credenziali. Il risultato è uno stack frammentato in cui una singola modifica, come una migrazione dello schema o un nuovo ruolo, si ripercuote su più sistemi, richiedendo aggiornamenti manuali, test approfonditi e coordinamento costante. Tutto questo overhead distrae gli sviluppatori dal vero valore aggiunto: la creazione delle funzionalità principali e dell'intelligenza del prodotto.
Con Databricks Lakebase e Databricks Apps, l'intero stack applicativo risiede insieme, accanto al lakehouse. Lakebase è un database Postgres completamente gestito che offre letture e scritture a bassa latenza, integrato con le stesse tabelle del lakehouse sottostanti che alimentano i tuoi carichi di lavoro di analisi e IA. Databricks Apps fornisce un runtime serverless per l'interfaccia utente, con autenticazione integrata, autorizzazioni granulari e controlli di governance che vengono applicati automaticamente agli stessi dati che Lakebase serve. Ciò semplifica la creazione e il deployment di app che combinano stato transazionale, analisi e IA senza dover collegare più piattaforme, sincronizzare database, replicare pipeline o riconciliare policy di sicurezza tra sistemi.
Lakebase e Databricks Apps lavorano insieme per semplificare lo sviluppo full-stack sulla piattaforma Databricks:
Combinando i due, puoi creare strumenti interattivi che archiviano e aggiornano lo stato in Lakebase, accedono ai dati governati nel lakehouse e servono tutto tramite un'interfaccia utente sicura e serverless, il tutto senza gestire infrastrutture separate. Nell'esempio seguente, mostreremo come creare una semplice app di approvazione richieste di ferie utilizzando questa configurazione.
Questa guida illustra come creare una semplice Databricks App che aiuta i manager a rivedere e approvare le richieste di ferie del loro team. L'app è costruita con Databricks Apps e utilizza Lakebase come database di backend per archiviare e aggiornare le richieste.

Ecco cosa copre la soluzione:
La guida è progettata per iniziare rapidamente con un esempio minimo funzionante. Successivamente, puoi estenderla con configurazioni più avanzate.
Prima di creare l'app, dovrai creare un database Lakebase. Per farlo, vai alla scheda Compute, seleziona OLTP Database, e fornisci un nome e una dimensione. Questo effettua il provisioning di un'istanza Lakebase serverless. In questo esempio, la nostra istanza di database si chiama lakebase-demo-instance.

Ora che abbiamo un database, creiamo la Databricks App che si connetterà ad esso. Puoi partire da un'app vuota o scegliere un modello (ad esempio, Streamlit o Flask). Dopo aver nominato la tua app, aggiungi il Database come risorsa. In questo esempio, viene selezionato il database pre-creato databricks_postgres.
L'aggiunta della risorsa Database effettua automaticamente:
Questo ruolo verrà utilizzato in seguito per concedere l'accesso a livello di tabella.

Con il database provisionato e l'app connessa, puoi ora definire lo schema e la tabella che l'app utilizzerà.
Dalla scheda Environment dell'app, copia il valore della variabile DATABRICKS_CLIENT_ID. Ti servirà per le istruzioni GRANT. 
Vai alla tua istanza Lakebase e fai clic su New Query. Questo apre l'editor SQL con l'endpoint del database già selezionato.

Si noti che, sebbene l'utilizzo dell'editor SQL sia un modo rapido ed efficace per eseguire questo processo, la gestione degli schemi di database su larga scala è gestita al meglio da strumenti dedicati che supportano il versioning, la collaborazione e l'automazione. Strumenti come Flyway e Liquibase consentono di tenere traccia delle modifiche dello schema, integrarsi con le pipeline CI/CD e garantire che la struttura del database evolva in modo sicuro insieme al codice dell'applicazione.
Con le autorizzazioni impostate, puoi ora creare la tua app. In questo esempio, l'app recupera le richieste di ferie da Lakebase e consente a un manager di approvarle o rifiutarle. Gli aggiornamenti vengono riscritti nella stessa tabella.

Utilizza SQLAlchemy e il Databricks SDK per connettere la tua app a Lakebase con autenticazione sicura basata su token. Quando aggiungi la risorsa Lakebase, PGHOST e PGUSER vengono esposti automaticamente. L'SDK gestisce la cache dei token.
Le seguenti funzioni leggono e aggiornano la tabella delle richieste di ferie:
Gli snippet di codice sopra possono essere utilizzati in combinazione con framework come Streamlit, Dash e Flask per estrarre i dati da Lakebase e visualizzarli nella tua app. Per assicurarti che tutte le dipendenze necessarie siano installate, aggiungi i pacchetti richiesti al file requirements.txt della tua app. I pacchetti utilizzati negli snippet di codice sono elencati di seguito.
Lakebase aggiunge capacità transazionali al lakehouse integrando un database OLTP completamente gestito direttamente nella piattaforma. Ciò riduce la necessità di database esterni o pipeline complesse quando si creano applicazioni che richiedono sia letture che scritture.

Poiché è integrato nativamente con Databricks, inclusa la sincronizzazione dei dati, l'autenticazione delle identità e la sicurezza di rete, proprio come altri asset di dati nel lakehouse. Non è necessario un ETL personalizzato o un reverse ETL per spostare i dati tra i sistemi. Ad esempio:
Queste funzionalità semplificano il supporto di casi d'uso di livello di produzione come:
Lakebase è già utilizzato in diversi settori per applicazioni tra cui raccomandazioni personalizzate, applicazioni chatbot e strumenti di gestione dei flussi di lavoro.
Se stai già utilizzando Databricks per l'analisi e l'IA, Lakebase semplifica l'aggiunta di interattività in tempo reale alle tue applicazioni. Con il supporto per transazioni a bassa latenza, sicurezza integrata e stretta integrazione con Databricks Apps, puoi passare dal prototipo alla produzione senza lasciare la piattaforma.
Lakebase fornisce un database Postgres transazionale che funziona perfettamente con Databricks Apps e offre una facile integrazione con i dati del Lakehouse. Semplifica lo sviluppo di applicazioni dati e AI full-stack eliminando la necessità di sistemi OLTP esterni o passaggi di integrazione manuali.
In questo esempio, abbiamo mostrato come:
Lakebase è ora in anteprima pubblica. Puoi provarlo oggi stesso direttamente dal tuo workspace Databricks. Per i dettagli sull'utilizzo e sui prezzi, consulta la documentazione di Lakebase e Apps.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
