Construir herramientas internas o aplicaciones impulsadas por IA de la manera “tradicional” sumerge a los desarrolladores en un laberinto de tareas repetitivas y propensas a errores. Primero, deben iniciar una instancia dedicada de Postgres, configurar la red, las copias de seguridad y la monitorización, y luego pasar horas (o días) conectando esa base de datos al framework de frontend que están utilizando. Además de eso, tienen que escribir flujos de autenticación personalizados, mapear permisos granulares y mantener esos controles de seguridad sincronizados en la UI, la capa de API y la base de datos. Cada componente de la aplicación reside en un entorno diferente, desde un servicio en la nube administrado hasta una VM autoalojada. Esto obliga a los desarrolladores a hacer malabares con canalizaciones de implementación, variables de entorno y almacenes de credenciales dispares. El resultado es una pila fragmentada donde un solo cambio, como una migración de esquema o un nuevo rol, se propaga a través de múltiples sistemas, exigiendo actualizaciones manuales, pruebas exhaustivas y coordinación constante. Toda esta sobrecarga distrae a los desarrolladores del verdadero valor añadido: la creación de las características principales y la inteligencia del producto.
Con Databricks Lakebase y Databricks Apps, toda la pila de aplicaciones se asienta junta, junto al lakehouse. Lakebase es una base de datos Postgres totalmente administrada que ofrece lecturas y escrituras de baja latencia, integrada con las mismas tablas subyacentes del lakehouse que potencian sus cargas de trabajo de análisis e IA. Databricks Apps proporciona un tiempo de ejecución sin servidor para la UI, junto con autenticación integrada, permisos detallados y controles de gobernanza que se aplican automáticamente a los mismos datos que sirve Lakebase. Esto facilita la creación y el despliegue de aplicaciones que combinan estado transaccional, análisis e IA sin tener que unir múltiples plataformas, sincronizar bases de datos, replicar canalizaciones o reconciliar políticas de seguridad entre sistemas.
Lakebase y Databricks Apps trabajan juntos para simplificar el desarrollo full-stack en la plataforma Databricks:
Al combinar ambos, puede crear herramientas interactivas que almacenan y actualizan el estado en Lakebase, acceden a datos gobernados en el lakehouse y sirven todo a través de una UI segura y sin servidor, todo ello sin gestionar infraestructura separada. En el siguiente ejemplo, mostraremos cómo crear una aplicación simple de aprobación de solicitudes de vacaciones utilizando esta configuración.
Este tutorial muestra cómo crear una aplicación Databricks simple que ayuda a los gerentes a revisar y aprobar solicitudes de vacaciones de su equipo. La aplicación está construida con Databricks Apps y utiliza Lakebase como base de datos backend para almacenar y actualizar las solicitudes.

Esto es lo que cubre la solución:
El tutorial está diseñado para que comience rápidamente con un ejemplo mínimo funcional. Más adelante, puede ampliarlo con una configuración más avanzada.
Antes de crear la aplicación, necesitará crear una base de datos Lakebase. Para ello, vaya a la pestaña Compute, seleccione OLTP Database, y proporcione un nombre y tamaño. Esto aprovisiona una instancia Lakebase sin servidor. En este ejemplo, nuestra instancia de base de datos se llama lakebase-demo-instance.

Ahora que tenemos una base de datos, creemos la Databricks App que se conectará a ella. Puede empezar desde una aplicación en blanco o elegir una plantilla (por ejemplo, Streamlit o Flask). Después de nombrar su aplicación, añada la Database como recurso. En este ejemplo, se selecciona la base de datos precreada databricks_postgres.
Añadir el recurso de Base de Datos automáticamente:
Este rol se utilizará más tarde para otorgar acceso a nivel de tabla.

Con la base de datos aprovisionada y la aplicación conectada, ahora puede definir el esquema y la tabla que utilizará la aplicación.
Desde la pestaña Environment de la aplicación, copie el valor de la variable DATABRICKS_CLIENT_ID. Lo necesitará para las sentencias GRANT.
Vaya a su instancia de Lakebase y haga clic en New Query. Esto abre el editor SQL con el endpoint de la base de datos ya seleccionado.

Tenga en cuenta que, si bien usar el editor SQL es una forma rápida y eficaz de realizar este proceso, la gestión de esquemas de bases de datos a escala se maneja mejor con herramientas dedicadas que admiten versionado, colaboración y automatización. Herramientas como Flyway y Liquibase le permiten rastrear cambios de esquema, integrarse con canalizaciones de CI/CD y garantizar que la estructura de su base de datos evolucione de forma segura junto con el código de su aplicación.
Con los permisos establecidos, ahora puede crear su aplicación. En este ejemplo, la aplicación recupera las solicitudes de vacaciones de Lakebase y permite a un gerente aprobarlas o rechazarlas. Las actualizaciones se escriben de nuevo en la misma tabla.

Utilice SQLAlchemy y el SDK de Databricks para conectar su aplicación a Lakebase con autenticación segura basada en tokens. Cuando agregue el recurso Lakebase, PGHOST y PGUSER se exponen automáticamente. El SDK maneja el almacenamiento en caché de tokens.
Las siguientes funciones leen y actualizan la tabla de solicitudes de vacaciones:
Los fragmentos de código anteriores se pueden usar en combinación con frameworks como Streamlit, Dash y Flask para extraer datos de Lakebase y visualizarlos en su aplicación. Para asegurarse de que todas las dependencias necesarias estén instaladas, agregue los paquetes requeridos al archivo requirements.txt de su aplicación. Los paquetes utilizados en los fragmentos de código se enumeran a continuación.
Lakebase agrega capacidades transaccionales al lakehouse al integrar una base de datos OLTP completamente administrada directamente en la plataforma. Esto reduce la necesidad de bases de datos externas o canalizaciones complejas al crear aplicaciones que requieren lecturas y escrituras.

Dado que está integrado de forma nativa con Databricks, incluida la sincronización de datos, la autenticación de identidad y la seguridad de la red, al igual que otros activos de datos en el lakehouse. No necesita ETL personalizado o ETL inverso para mover datos entre sistemas. Por ejemplo:
Estas capacidades facilitan la compatibilidad con casos de uso de nivel de producción como:
Lakebase ya se está utilizando en diversas industrias para aplicaciones que incluyen recomendaciones personalizadas, aplicaciones de chatbot y herramientas de gestión de flujos de trabajo.
Si ya está utilizando Databricks para análisis e IA, Lakebase facilita la adición de interactividad en tiempo real a sus aplicaciones. Con soporte para transacciones de baja latencia, seguridad integrada y una estrecha integración con Databricks Apps, puede pasar del prototipo a la producción sin salir de la plataforma.
Lakebase proporciona una base de datos transaccional de Postgres que funciona sin problemas con Databricks Apps y ofrece una fácil integración con los datos de Lakehouse. Simplifica el desarrollo de aplicaciones de datos e IA de pila completa al eliminar la necesidad de sistemas OLTP externos o pasos de integración manuales.
En este ejemplo, mostramos cómo:
Lakebase ya está en vista previa pública. Puede probarlo hoy mismo directamente desde su espacio de trabajo de Databricks. Para obtener detalles sobre el uso y los precios, consulte la documentación de Lakebase y Apps.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
