Saltar a contenido

Formatos de tablas y catálogos para lakehouse

Compara cómo se confirma, consulta y recupera el estado de las tablas.

Parquet describe archivos. Un formato de tabla añade metadatos y reglas para decidir qué archivos representan una tabla en un momento concreto. El motor ejecuta consultas y el catálogo ayuda a localizar y gestionar la tabla. Estas responsabilidades explican por qué Iceberg y DuckLake van aquí.

Fuentes revisadas: 2026-09-06. Es una evaluación documental, no un benchmark. Las recomendaciones dependen de la combinación de lectores, escritores y escenario operativo. Versión de biblioteca y de formato son distintas.

Comparación de un vistazo

Calificación (1–5): una nota editorial de preparación para el encaje indicado en su fila, con fecha 2026-09-06. Suma cinco criterios de 0, 0,5 o 1 punto: mantenimiento, edición abierta (lo que incluye la edición open source sin nivel de pago), madurez y comunidad, alcance operativo e interoperabilidad, con topes para proyectos archivados, estancados o sin versión estable. El desglose está bajo la tabla y el método en el índice del Blog. Una calificación no es un benchmark ni un ranking universal; las secciones por carga siguen decidiendo.

Proyecto Calificación Licencia del código Lo preseleccionaría para Restricción principal
Apache Iceberg 1.11.0 4,5/5 Apache-2.0 Tablas compartidas por motores analíticos elegidos de forma independiente Cada combinación de lector, escritor, catálogo y versión de formato necesita pruebas.
Delta Lake 4.4.0 4/5 Apache-2.0 Una plataforma cuyos motores y prácticas operativas ya soportan Delta Las funciones de tabla y protocolos de lectura/escritura habilitados pueden limitar compatibilidad.
Apache Hudi 1.2.0 4/5 Apache-2.0 CDC, actualizaciones y procesamiento incremental sobre un data lake Tipo de tabla, índices, compactación y limpieza afectan frescura y mantenimiento.
Especificación DuckLake 1.0 3,5/5 Implementación de referencia MIT Un lakehouse con metadatos coordinados mediante una base SQL Concurrencia del catálogo, recuperación e integración exacta con motores son decisiones centrales.
Cómo se calculó cada calificación

Cinco criterios de 0, 0,5 o 1 punto. Topes: upstream archivado 1, sin versión estable en 18 meses 2, sin versión de disponibilidad general 2,5. "Edición abierta" puntúa lo que incluye la edición open source sin nivel de pago. Puntuado el 2026-09-06 con el repositorio, las versiones y la documentación oficiales; el método está en el índice del Blog.

Proyecto Mantenimiento Edición abierta Madurez Operación Interoperabilidad Calificación
Apache Iceberg 1 1 1 0,5 1 4,5
Delta Lake 1 1 1 0,5 0,5 4
Apache Hudi 1 1 1 0,5 0,5 4
DuckLake 1 1 0,5 0,5 0,5 3,5
Apache Polaris 1 1 1 0,5 1 4,5
Lakekeeper 1 1 0,5 0,5 1 4
Nessie 1 1 0,5 0,5 0,5 3,5
Unity Catalog OSS 1 0,5 0,5 0,5 0,5 3

Dónde encaja DuckLake

DuckLake es un formato integrado de tablas y catálogo para lakehouse. Su especificación sitúa metadatos en tablas SQL y datos en archivos Parquet. Pertenece a la misma categoría que Iceberg, Delta Lake y Hudi, haciendo visible esa diferencia arquitectónica.

DuckDB es un motor de consultas; DuckLake no es otro nombre para su archivo de base de datos nativo. La documentación separa especificación y extensión DuckDB. La implementación de referencia utiliza MIT. Su versión y el build DuckDB soportado se verifican por separado de la especificación 1.0.

Para clientes remotos concurrentes, la guía del catálogo recomienda PostgreSQL. Los catálogos DuckDB y SQLite cubren patrones locales distintos. Elegir un catálogo SQL mantiene la responsabilidad de operar y recuperar esa base de datos.

Empieza por la carga

  • Varios motores deben leer y escribir las mismas tablas: empezaría probando Iceberg con las versiones exactas. Confirmaría borrados, cambios de esquema y timestamps, además de la existencia de un conector.
  • Ya existe una plataforma Spark basada en Delta: mantendría Delta entre las opciones. Probaría el segundo motor antes de habilitar funciones que su lector o escritor no soporte.
  • Un pipeline CDC con muchas actualizaciones: compararía tipos de tabla y consulta de Hudi con Iceberg o Delta usando el mismo flujo de cambios. Incluiría compactación y frescura de lectura en el resultado.
  • Un lakehouse compacto centrado en DuckDB y catálogo SQL compartido: probaría DuckLake. Verificaría transacciones concurrentes, recuperación de metadatos e integraciones antes de prometer portabilidad entre motores.

Versiones y notas operativas

Iceberg — separar versiones de implementación y formato

La especificación identifica las versiones completas 1, 2 y 3 del formato, con v4 en desarrollo al revisar. Esa numeración es distinta de la biblioteca 1.11.0 de la tabla.

Construye una matriz de lectores y escritores para las funciones habilitadas. Prueba evolución de particiones, borrado de filas y expiración de snapshots entre motores. Conectar al catálogo no demuestra que todas las funciones se lean o escriban correctamente.

Delta Lake — las funciones condicionan compatibilidad

La referencia de propiedades describe ajustes de retención y requisitos de protocolo. El protocolo transaccional define requisitos para lectores y escritores.

Ensaya actualizaciones de funciones con todos los consumidores. Restaura historial transaccional y archivos juntos. Retención y vacuum son decisiones de recuperación; time travel no recupera archivos eliminados de todas las copias conservadas.

Hudi — comparar tipo de tabla y semántica de consulta

Los tipos de tabla distinguen Copy on Write y Merge on Read. En Merge on Read, las consultas snapshot y read-optimized pueden tener distinta frescura entre compactaciones.

Reproduce actualizaciones, eventos tardíos y borrados con la clave y reglas de orden reales. Mide ingesta, compactación pendiente y consultas juntas. Verifica que el tipo de consulta del consumidor satisface el requisito de frescura.

DuckLake — recuperar catálogo y archivos como un dataset

La guía de recuperación cubre la base del catálogo y el almacenamiento de archivos. Los metadatos forman parte del dataset durable; no siempre se reconstruyen listando Parquet.

Restaura en un entorno limpio, comprueba referencias a cada archivo retenido y reproduce un fallo del escritor alrededor del commit. Prueba las transacciones del catálogo con la concurrencia prevista. Incluye escrituras pequeñas y mantenimiento en el ensayo operativo.

Los catálogos son otra decisión

Estos proyectos gestionan descubrimiento de tablas o gobierno. Su licencia no describe automáticamente el servicio alojado de un proveedor. Las calificaciones usan el mismo método que la tabla anterior.

Catálogo Calificación Licencia del código revisado Función Qué verificaría
Apache Polaris 1.7.0 4,5/5 Apache-2.0 Servicios de catálogo para Iceberg Autenticación de motores, manejo de credenciales y restauración del estado.
Lakekeeper 0.13.3 4/5 Apache-2.0 Catálogo REST Iceberg Integración de autorización, acceso al object store y recuperación de metadatos.
Nessie 0.108.4 3,5/5 Apache-2.0 Catálogo versionado con ramas y etiquetas Soporte de motores y relación entre referencias del catálogo y snapshots de tablas.
Unity Catalog OSS 0.6.0 3/5 Apache-2.0 Interfaces abiertas de catálogo y gobierno APIs, autorización y alcance de funciones OSS frente al servicio gestionado.

El catálogo SQL de DuckLake sigue su propia especificación de metadatos; no es un catálogo REST Iceberg intercambiable. Asimismo, Lance es un formato de datos usado por LanceDB, Parquet un formato de archivo y S3 una API de almacenamiento de objetos. Mantén visibles esas capas en el inventario tecnológico.

Una prueba que pueda cambiar la decisión

Usa la misma tabla de eventos mutable y dos clientes independientes.

  1. Corrección del commit: interrumpe un escritor y comprueba que los lectores ven un snapshot coherente, incluyendo requisitos entre tablas.
  2. Interoperabilidad: lee y escribe con los motores exactos; incluye nulos, timestamps, borrados y evolución de esquema y particiones.
  3. Frescura y mantenimiento: mide visibilidad junto con compactación, archivos pequeños, expiración de snapshots y crecimiento de metadatos.
  4. Autorización y recuperación: prueba acceso al catálogo y directo a objetos; restaura estado, credenciales y archivos referenciados.
  5. Salida: exporta un dataset representativo conservando su semántica. Compartir Parquet no demuestra que bastará con migrar metadatos.

Completa el recorrido de los datos

Elige almacenamiento de objetos para los archivos, transformación para los modelos y un orquestador para programar trabajo. Compara motores OLAP y BI para el consumo. El formato de tabla no aporta por sí solo todos esos servicios.