La Plataforma de Inteligencia de Datos de Databricks ofrece una flexibilidad sin igual, permitiendo a los usuarios acceder a recursos de cómputo escalables horizontalmente y casi instantáneos. Esta facilidad de creación puede generar costos de nube descontrolados si no se gestionan adecuadamente.
Al trabajar con ecosistemas técnicos complejos, comprender de forma proactiva lo desconocido es clave para mantener la estabilidad de la plataforma y controlar los costos. La observabilidad proporciona una forma de analizar y optimizar sistemas basándose en los datos que generan. Esto es diferente del monitoreo, que se enfoca en identificar patrones nuevos en lugar de rastrear problemas conocidos.
Etiquetas (Tags): Usa etiquetas para categorizar recursos y cargos. Esto permite una asignación de costos más granular.
Tablas del Sistema (System Tables): Aprovecha las tablas del sistema para el rastreo de costos automatizado y la asignación de cargos. Herramientas de monitoreo de costos nativas de la nube: Utiliza estas herramientas para obtener información sobre los costos en todos los recursos.
Databricks proporciona excelentes capacidades de observabilidad utilizando Tablas del Sistema. Estas son almacenes analíticos alojados por Databricks de los datos operativos de la cuenta de un cliente que se encuentran en el catálogo del sistema. Proporcionan observabilidad histórica en toda la cuenta e incluyen información tabular fácil de usar sobre la telemetría de la plataforma. Se pueden encontrar información clave como los datos de uso de facturación en las tablas del sistema (esto actualmente solo incluye el precio de lista de DBU), y cada registro de uso representa un agregado horario del uso facturable de un recurso.
Las tablas del sistema son administradas por Unity Catalog y requieren un espacio de trabajo habilitado para Unity Catalog para acceder. Incluyen datos de todos los espacios de trabajo, pero solo se pueden consultar desde espacios de trabajo habilitados. La habilitación de las tablas del sistema se realiza a nivel de esquema: habilitar un esquema habilita todas sus tablas. Los administradores deben habilitar manualmente los esquemas nuevos usando la API.
El etiquetado de Databricks te permite aplicar atributos (pares clave-valor) a los recursos para una mejor organización, búsqueda y gestión. Para rastrear costos y asignarlos, los equipos pueden etiquetar sus trabajos y cómputo de Databricks (Clusters, SQL warehouse), lo que puede ayudarles a rastrear el uso, los costos y atribuirlos a equipos o unidades específicas.
Las etiquetas se pueden aplicar a los siguientes recursos de Databricks para rastrear el uso y los costos:
Una vez aplicadas estas etiquetas, se puede realizar un análisis detallado de costos utilizando las tablas del sistema de uso facturable.
Para monitorear costos y atribuir con precisión el uso de Databricks a las unidades de negocio y equipos de tu organización (para asignación de cargos, por ejemplo), puedes etiquetar espacios de trabajo (y los grupos de recursos administrados asociados), así como los recursos de cómputo.
La siguiente tabla detalla los objetos de Azure Databricks donde se pueden aplicar etiquetas. Estas etiquetas pueden propagarse a informes detallados de análisis de costos que puedes acceder en el portal y a la tabla del sistema de uso facturable. Encuentra más detalles sobre la propagación de etiquetas y limitaciones en Azure.
| Objeto de Azure Databricks | Interfaz de Etiquetado (UI) | Interfaz de Etiquetado (API) |
|---|---|---|
| Espacio de trabajo | Portal de Azure | API de Recursos de Azure |
| Pool | UI de Pools en el espacio de trabajo de Azure Databricks | API de Instance Pool |
| Cómputo de propósito general y de trabajos | UI de Cómputo en el espacio de trabajo de Azure Databricks | API de Clusters |
| SQL Warehouse | UI de SQL warehouse en el espacio de trabajo de Azure Databricks | API de Warehouse |
La siguiente tabla detalla los objetos de AWS Databricks donde se pueden aplicar etiquetas. Estas etiquetas pueden propagarse tanto a los registros de uso como a las instancias de AWS EC2 y AWS EBS para el análisis de costos. Databricks recomienda usar tablas del sistema (Vista Previa Pública) para ver datos de uso facturable. Encuentra más detalles sobre la propagación de etiquetas y limitaciones en AWS.
| Objeto de AWS Databricks | Interfaz de Etiquetado (UI) | Interfaz de Etiquetado (API) |
|---|---|---|
| Espacio de trabajo | N/A | API de Cuenta |
| Pool | UI de Pools en el espacio de trabajo de Databricks | API de Instance Pool |
| Cómputo de propósito general y de trabajos | UI de Cómputo en el espacio de trabajo de Databricks | API de Clusters |
| SQL Warehouse | UI de SQL warehouse en el espacio de trabajo de Databricks | API de Warehouse |
La siguiente tabla detalla los objetos de GCP Databricks donde se pueden aplicar etiquetas. Estas etiquetas/rótulos se pueden aplicar a los recursos de cómputo. Encuentra más detalles sobre la propagación de etiquetas/rótulos y limitaciones en GCP.
Los gráficos de uso facturable de Databricks en la consola de la cuenta pueden agregar el uso por etiquetas individuales. Los informes CSV de uso facturable descargados de la misma página también incluyen etiquetas predeterminadas y personalizadas. Las etiquetas también se propagan a los rótulos de GKE y GCE.
| Objeto de GCP Databricks | Interfaz de Etiquetado (UI) | Interfaz de Etiquetado (API) |
|---|---|---|
| Pool | UI de Pools en el espacio de trabajo de Databricks | API de Instance Pool |
| Computación para todo uso y trabajos | Interfaz de usuario de computación en el espacio de trabajo de Databricks | API de clústeres |
| Almacén SQL | Interfaz de usuario del almacén SQL en el espacio de trabajo de Databricks | API de almacenes |
El equipo de producto de Databricks ha proporcionado paneles de Lakeview precreados para el análisis de costos y la previsión utilizando tablas del sistema, que los clientes también pueden personalizar.
Esta demostración se puede instalar usando los siguientes comandos en la celda de los notebooks de Databricks:
Al ejecutar cargas de trabajo en Databricks, elegir la configuración de computación adecuada mejorará significativamente las métricas de costo/rendimiento. A continuación, se presentan algunas técnicas prácticas de optimización de costos:
Para cargas de trabajo interactivas de SQL, el almacén SQL es el motor más rentable. Aún más eficiente podría ser la computación Serverless, que viene con un tiempo de inicio muy rápido para los almacenes SQL y permite un tiempo de terminación automática más corto.
Para cargas de trabajo no interactivas, los clústeres de trabajos cuestan significativamente menos que los clústeres para todo uso. Los flujos de trabajo multitarea pueden reutilizar recursos de computación para todas las tareas, lo que reduce aún más los costos.
Usar la última generación de tipos de instancia en la nube casi siempre brindará beneficios de rendimiento, ya que vienen con el mejor rendimiento y las últimas características. En AWS, las instancias Amazon EC2 basadas en Graviton2 pueden ofrecer hasta 3 veces mejor relación precio-rendimiento que las instancias Amazon EC2 comparables.
Según sus cargas de trabajo, también es importante elegir la familia de instancias adecuada. Algunas reglas generales son:
El último Databricks Runtime (DBR) generalmente viene con un rendimiento mejorado y casi siempre será más rápido que el anterior.
Photon es un motor de consulta vectorial nativo de Databricks de alto rendimiento que acelera sus cargas de trabajo SQL y las llamadas a la API de DataFrame para reducir su costo total por carga de trabajo. Para esas cargas de trabajo, habilitar Photon podría generar ahorros significativos.
Databricks proporciona una característica única de escalabilidad automática de clústeres, lo que facilita lograr una alta utilización del clúster porque no necesita aprovisionar el clúster para que coincida con una carga de trabajo. Esto es particularmente útil para cargas de trabajo interactivas o cargas de trabajo por lotes con carga de datos variable. Sin embargo, la escalabilidad automática clásica no funciona con cargas de trabajo de Structured Streaming, por lo que hemos desarrollado Escalabilidad Automática Mejorada en Delta Live Tables para manejar cargas de trabajo de transmisión que son irregulares e impredecibles.
Todos los principales proveedores de nube ofrecen instancias spot que le permiten acceder a capacidad no utilizada en sus centros de datos por hasta un 90% menos que las instancias On-Demand regulares. Databricks le permite aprovechar estas instancias spot, con la capacidad de recurrir automáticamente a instancias On-Demand en caso de terminación para minimizar las interrupciones. Para la estabilidad del clúster, recomendamos usar nodos de controlador On-Demand.
En segundo plano, cuando un clúster utiliza uno de estos tipos de instancia fleet, Databricks seleccionará los tipos de instancia física de AWS coincidentes con el mejor precio y disponibilidad para usar en su clúster.
El uso eficaz de políticas de clúster permite a los administradores aplicar restricciones específicas de costos para los usuarios finales:
La Plataforma de Inteligencia de Datos de Databricks integra funciones avanzadas de IA que optimizan el rendimiento, reducen los costos, mejoran la gobernanza y simplifican el desarrollo de aplicaciones empresariales de IA. La E/S predictiva y Liquid Clustering mejoran las velocidades de consulta y la utilización de recursos, mientras que la gestión inteligente de cargas de trabajo optimiza la escalabilidad automática para la eficiencia de costos. En general, la plataforma de Databricks ofrece un conjunto completo de herramientas de IA para impulsar la productividad y el ahorro de costos, al tiempo que permite soluciones innovadoras para casos de uso específicos de la industria.
Liquid clustering de Delta Lake reemplaza la partición de tablas y ZORDER para simplificar las decisiones de diseño de datos y optimizar el rendimiento de las consultas. Liquid clustering proporciona flexibilidad para redefinir las claves de agrupación sin reescribir los datos existentes, lo que permite que el diseño de los datos evolucione junto con las necesidades analíticas a lo largo del tiempo.
Los ingenieros de datos en el lakehouse estarán familiarizados con la necesidad de OPTIMIZAR y VACUAR regularmente sus tablas, sin embargo, esto crea desafíos continuos para determinar las tablas correctas, el programa apropiado y el tamaño de computación correcto para que se ejecuten estas tareas. Con Optimización Predictiva, aprovechamos Unity Catalog y Lakehouse AI para determinar las mejores optimizaciones a realizar en sus datos, y luego ejecutamos esas operaciones en infraestructura serverless especialmente diseñada. Todo esto sucede automáticamente, asegurando el mejor rendimiento sin desperdicio de computación ni esfuerzo de ajuste manual.
En Databricks, las Vistas Materializadas (MVs) son tablas administradas por Unity Catalog que permiten a los usuarios precalcular resultados basados en la última versión de los datos en las tablas de origen. Construidas sobre Delta Live Tables y serverless, las MVs reducen la latencia de las consultas al precalcular cálculos lentos y frecuentes. Cuando es posible, los resultados se actualizan incrementalmente, pero son idénticos a los que se obtendrían con una recalcularción completa. Esto reduce el costo computacional y evita la necesidad de mantener clústeres separados.
Para dar mejor soporte a los casos de uso de model serving y Gen AI, Databricks ha introducido múltiples capacidades sobre nuestra infraestructura serverless que escala automáticamente a tus flujos de trabajo sin necesidad de configurar instancias y tipos de servidor.
Con estas funcionalidades potenciadas por IA, Databricks SQL ahora puede analizar patrones históricos de lectura y escritura para construir índices de forma inteligente y optimizar cargas de trabajo. Predictive I/O es un conjunto de optimizaciones de Databricks que mejoran el rendimiento de las interacciones con los datos. Las capacidades de Predictive I/O se agrupan en las siguientes categorías:
DELETE, MERGE y UPDATE. Puedes encontrar más detalles en esta documentación.Predictive I/O es exclusivo del motor Photon en Databricks.
Uno de los principales puntos débiles de los administradores de plataformas técnicas es gestionar diferentes almacenes para cargas de trabajo pequeñas y grandes y asegurarse de que el código esté optimizado y ajustado para ejecutarse de manera óptima y aprovechar al máximo la capacidad de la infraestructura de cómputo. IWM es un conjunto de funcionalidades que ayuda con los desafíos anteriores y permite ejecutar estas cargas de trabajo más rápido manteniendo los costos bajos. Lo logra analizando patrones en tiempo real y asegurando que las cargas de trabajo tengan la cantidad óptima de cómputo para ejecutar las sentencias SQL entrantes sin interrumpir las consultas ya en ejecución.
La base correcta de FinOps, a través de etiquetado, políticas e informes, es crucial para la transparencia y el ROI de tu Plataforma de Inteligencia de Datos. Te ayuda a obtener valor comercial más rápido y a construir una empresa más exitosa.
Utiliza serverless y DatabricksIQ para una configuración rápida, eficiencia de costos y optimizaciones automáticas que se adaptan a tus patrones de carga de trabajo. Esto conduce a un TCO más bajo, mejor confiabilidad y operaciones más simples y rentables.
(Esta entrada del blog ha sido traducida utilizando herramientas basadas en inteligencia artificial) Publicación original
