Das „traditionelle“ Erstellen interner Tools oder KI-gestützter Anwendungen stürzt Entwickler in ein Labyrinth repetitiver, fehleranfälliger Aufgaben. Zuerst müssen sie eine dedizierte Postgres-Instanz hochfahren, Netzwerke, Backups und Monitoring konfigurieren und dann Stunden (oder Tage) damit verbringen, diese Datenbank mit dem Frontend-Framework zu verbinden, das sie verwenden. Darüber hinaus müssen sie benutzerdefinierte Authentifizierungsabläufe schreiben, granulare Berechtigungen zuordnen und diese Sicherheitskontrollen über die Benutzeroberfläche, die API-Schicht und die Datenbank hinweg synchron halten. Jede Anwendungskomponente befindet sich in einer anderen Umgebung, von einem verwalteten Cloud-Dienst bis hin zu einer selbst gehosteten VM. Dies zwingt Entwickler, mit unterschiedlichen Bereitstellungspipelines, Umgebungsvariablen und Anmeldespeicher umzugehen. Das Ergebnis ist ein fragmentierter Stack, bei dem eine einzelne Änderung, wie eine Schema-Migration oder eine neue Rolle, durch mehrere Systeme sickert und manuelle Updates, umfangreiche Tests und ständige Koordination erfordert. All dieser Overhead lenkt Entwickler von der eigentlichen Wertschöpfung ab: dem Aufbau der Kernfunktionen und der Intelligenz des Produkts.
Mit Databricks Lakebase und Databricks Apps sitzt der gesamte Anwendungsstack zusammen mit dem Lakehouse. Lakebase ist eine vollständig verwaltete Postgres-Datenbank, die Lese- und Schreibvorgänge mit geringer Latenz bietet und mit denselben zugrunde liegenden Lakehouse-Tabellen integriert ist, die Ihre Analyse- und KI-Workloads antreiben. Databricks Apps bietet eine serverlose Laufzeitumgebung für die Benutzeroberfläche sowie integrierte Authentifizierung, feingranulare Berechtigungen und Governance-Kontrollen, die automatisch auf dieselben Daten angewendet werden, die Lakebase bereitstellt. Dies erleichtert die Erstellung und Bereitstellung von Apps, die transaktionalen Zustand, Analysen und KI kombinieren, ohne mehrere Plattformen zusammenzufügen, Datenbanken zu synchronisieren, Pipelines zu replizieren oder Sicherheitsrichtlinien systemübergreifend abzugleichen.
Lakebase und Databricks Apps vereinfachen gemeinsam die Full-Stack-Entwicklung auf der Databricks-Plattform:
Durch die Kombination der beiden können Sie interaktive Tools erstellen, die Zustände in Lakebase speichern und aktualisieren, auf verwaltete Daten im Lakehouse zugreifen und alles über eine sichere, serverlose Benutzeroberfläche bereitstellen, ohne separate Infrastruktur verwalten zu müssen. Im folgenden Beispiel zeigen wir, wie Sie mit dieser Einrichtung eine einfache Urlaubsantrags-Genehmigungs-App erstellen.
Diese Anleitung zeigt, wie Sie eine einfache Databricks App erstellen, die Managern bei der Überprüfung und Genehmigung von Urlaubsanträgen ihres Teams hilft. Die App wird mit Databricks Apps erstellt und verwendet Lakebase als Backend-Datenbank zum Speichern und Aktualisieren der Anfragen.

Die Lösung umfasst Folgendes:
Die Anleitung ist darauf ausgelegt, Ihnen schnell mit einem minimalen funktionierenden Beispiel den Einstieg zu ermöglichen. Später können Sie sie mit erweiterten Konfigurationen erweitern.
Bevor Sie die App erstellen, müssen Sie eine Lakebase-Datenbank erstellen. Gehen Sie dazu zum Tab Compute, wählen Sie OLTP-Datenbank und geben Sie einen Namen und eine Größe an. Dies stellt eine serverlose Lakebase-Instanz bereit. In diesem Beispiel heißt unsere Datenbankinstanz lakebase-demo-instance.

Nachdem wir nun eine Datenbank haben, erstellen wir die Databricks App, die sich damit verbinden wird. Sie können mit einer leeren App beginnen oder eine Vorlage auswählen (z. B. Streamlit oder Flask). Nachdem Sie Ihrer App einen Namen gegeben haben, fügen Sie die Datenbank als Ressource hinzu. In diesem Beispiel wird die vordefinierte databricks_postgres-Datenbank ausgewählt.
Das Hinzufügen der Datenbankressource bewirkt Folgendes automatisch:
Diese Rolle wird später verwendet, um Zugriff auf Tabellenebene zu gewähren.

Nachdem die Datenbank bereitgestellt und die App verbunden ist, können Sie nun das Schema und die Tabelle definieren, die die App verwenden wird.
Kopieren Sie im Tab Environment der App den Wert der Variablen DATABRICKS_CLIENT_ID. Sie benötigen diesen für die GRANT-Anweisungen.
Gehen Sie zu Ihrer Lakebase-Instanz und klicken Sie auf New Query. Dies öffnet den SQL-Editor mit dem bereits ausgewählten Datenbankendpunkt.

Bitte beachten Sie, dass die Verwendung des SQL-Editors zwar eine schnelle und effektive Möglichkeit ist, diesen Prozess durchzuführen, die Verwaltung von Datenbankschemata in großem Maßstab jedoch am besten mit speziellen Tools erfolgt, die Versionierung, Zusammenarbeit und Automatisierung unterstützen. Tools wie Flyway und Liquibase ermöglichen es Ihnen, Schemaänderungen zu verfolgen, sie in CI/CD-Pipelines zu integrieren und sicherzustellen, dass sich Ihre Datenbankstruktur sicher zusammen mit Ihrem Anwendungscode weiterentwickelt.
Nachdem die Berechtigungen eingerichtet sind, können Sie nun Ihre App erstellen. In diesem Beispiel ruft die App Urlaubsanträge aus Lakebase ab und ermöglicht es einem Manager, diese zu genehmigen oder abzulehnen. Aktualisierungen werden in dieselbe Tabelle zurückgeschrieben.

Verwenden Sie SQLAlchemy und das Databricks SDK, um Ihre App mit sicherer, tokenbasierter Authentifizierung mit Lakebase zu verbinden. Wenn Sie die Lakebase-Ressource hinzufügen, werden PGHOST und PGUSER automatisch bereitgestellt. Das SDK kümmert sich um das Token-Caching.
Die folgenden Funktionen lesen aus der Tabelle für Urlaubsanträge und aktualisieren diese:
Die obigen Code-Snippets können in Kombination mit Frameworks wie Streamlit, Dash und Flask verwendet werden, um Daten aus Lakebase abzurufen und sie in Ihrer App zu visualisieren. Um sicherzustellen, dass alle notwendigen Abhängigkeiten installiert sind, fügen Sie die erforderlichen Pakete zu Ihrer App hinzu requirements.txt Datei. Die in den Code-Snippets verwendeten Pakete sind unten aufgeführt.
Lakebase fügt dem Lakehouse transaktionale Fähigkeiten hinzu, indem es eine vollständig verwaltete OLTP-Datenbank direkt in die Plattform integriert. Dies reduziert die Notwendigkeit externer Datenbanken oder komplexer Pipelines beim Erstellen von Anwendungen, die Lese- und Schreibzugriffe erfordern.

Da es nativ in Databricks integriert ist, einschließlich Datensynchronisierung, Identitätsauthentifizierung und Netzwerksicherheit – genau wie andere Datenassets im Lakehouse. Sie benötigen kein benutzerdefiniertes ETL oder Reverse ETL, um Daten zwischen Systemen zu verschieben. Zum Beispiel:
Diese Funktionen erleichtern die Unterstützung von produktionsreifen Anwendungsfällen wie:
Lakebase wird bereits branchenübergreifend für Anwendungen wie personalisierte Empfehlungen, Chatbot-Anwendungen und Workflow-Management-Tools eingesetzt.
Wenn Sie Databricks bereits für Analysen und KI nutzen, erleichtert Lakebase die Hinzufügung von Echtzeit-Interaktivität zu Ihren Anwendungen. Mit Unterstützung für Low-Latency-Transaktionen, integrierter Sicherheit und enger Integration mit Databricks Apps können Sie vom Prototyp zur Produktion gelangen, ohne die Plattform verlassen zu müssen.
Lakebase bietet eine transaktionale Postgres-Datenbank, die nahtlos mit Databricks Apps funktioniert und eine einfache Integration mit Lakehouse-Daten ermöglicht. Es vereinfacht die Entwicklung von Full-Stack-Daten- und KI-Anwendungen, indem externe OLTP-Systeme oder manuelle Integrationsschritte überflüssig werden.
In diesem Beispiel haben wir gezeigt, wie man:
Lakebase befindet sich jetzt in der öffentlichen Vorschau. Sie können es noch heute direkt aus Ihrem Databricks-Workspace ausprobieren. Details zu Nutzung und Preisen finden Sie in der Lakebase und Apps Dokumentation.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
