Delta Lake es una capa de almacenamiento de código abierto, implementada por Databricks, que intenta incorporar transacciones ACID en el procesado de big data. En nuestros proyectos data lake o data mesh con Databricks, nuestros equipos prefieren usar almacenamiento Delta Lake a usar directamente tipos de almacenamiento de archivos tales como AWS S3 o ADLS. Hasta hace poco, Delta Lake ha sido un producto cerrado propietario de Databricks, pero ahora es de código abierto y accesible a plataformas no Databricks. Sin embargo, nuestra recomendación de Delta Lake como opción por defecto ahora mismo se extiende solo a proyectos Databricks que usen formato de ficheros Parquet. Delta Lake facilita los casos de uso de lectura/escritura concurrente de datos donde se requiere transaccionalidad a nivel de archivo. Encontramos de gran ayuda la fluida integración de Delta Lake con las APIS de Apache Spark batch y micro-batch, especialmente en características tales como viajar en el tiempo (acceso a datos en un punto en concreto en el tiempo o revertir un commit) así como el soporte a la evolución de esquemas durante la escritura, aunque hay algunas limitaciones en dichas características.
Delta Lake es una capa de almacenamiento de código abierto implementada por Databricks, que intenta llevar transacciones ACID al procesamiento de big data. En proyectos de lago de datos o de malla de datos con soporte de Databricks, nuestros equipos siguen prefiriendo usar el almacenamiento Delta Lake en lugar del uso directo de mecanismos de almacenamiento de archivos como S3 o ADLS. Por supuesto que esto se limita a proyectos que usan plataformas de almacenamiento que soportan Delta Lake cuando usan formatos de archivo Parquet. Delta Lake facilita casos de uso de lectura/escritura de datos concurrentes donde se requiere transaccionalidad a nivel de archivo. Encontramos de gran ayuda a la integración transparente de Delta Lake con las APIs de procesamiento en lotes o en micro lotes de Apache Spark, y particularmente, a funcionalidades como los viajes en el tiempo (acceder a los datos de un momento determinado o en la reversión de un commit) así como el soporte de evolución de esquema al momento de escritura, aunque hay algunas limitaciones en estas características.
Delta Lake es una capa de almacenamiento de open-source de Databricks que intenta llevar las transacciones al procesamiento de big data. Uno de los problemas que a menudo encontramos al usar Apache Spark es la falta de transacciones ACID. Delta Lake se integra con la API de Spark y resuelve este problema mediante el uso de un registro de transacciones y archivos de Parquet versionados. Su aislamiento serializable, permite que lectores y escritores puedan trabajar sobre archivos Parquet simultáneamente. Dentro de las bien recibidas características se incluye la aplicación de esquemas al escribir y versionar, lo que nos permite consultar y volver a versiones anteriores de datos de ser necesario. Hemos comenzando a usarlo en algunos de nuestros proyectos y nos resulta interesante.