Cuando Doris Conoce al Iceberg: La Redención de un Ingeniero de Datos

Despertarse en medio de la noche debido a un error de datos nuevamente, ¿alguna vez has soñado con un mundo de datos ideal donde las consultas devuelven resultados en segundos, los datos nunca se pierden y los costos son tan bajos que tu jefe está sonriendo? ¿Suena como un sueño? ¡No! Esto se está convirtiendo en una realidad.

Recuerda esa noche en la que te aplastaron los problemas de particionamiento de datos, con el gerente de producto presionando frenéticamente por progreso mientras tú luchabas con datos dispersos. Las consultas de múltiples fuentes eran tan lentas como un caracol subiendo una montaña, y los cambios de esquema requerían coordinación entre siete departamentos.

Pero ahora, estos puntos de dolor están siendo reescritos. 

La combinación de Apache Doris e Iceberg está redefiniendo la forma en que funcionan los lagos de datos. No es solo un simple 1+1=2; trae un salto cualitativo: consultas a nivel de segundos, evolución de esquema sin problemas y verdaderas garantías de consistencia de datos.

La Sinfonía Perfecta de Doris e Iceberg

En el campo de la ingeniería de datos, a menudo nos encontramos con tales problemas:

Xiao Zhang está trabajando en un requisito de análisis de datos, necesitando analizar datos de comportamiento de usuarios de los últimos tres meses. Los datos están dispersos en almacenes de datos Hive, bases de datos comerciales y almacenamiento de objetos. El rendimiento de las uniones de múltiples fuentes es deficiente, con consultas que tardan más de 40 minutos, y la inconsistencia de datos ocurre con frecuencia.

Además, Xiao Zhang también tiene que lidiar con el trabajo de gobernanza de datos, y cada cambio en la estructura de la tabla le da dolor de cabeza. Varias aplicaciones descendentes dependen de estas tablas, y los cambios de esquema requieren coordinación entre múltiples equipos, lo que puede llevar una semana para completar un solo cambio.

Estos problemas se han vuelto más prominentes con el crecimiento explosivo de los datos. La separación tradicional de los almacenes de datos y los lagos de datos ya no puede satisfacer las necesidades.

Afortunadamente, en la versión 2.1, la arquitectura lakehouse de Apache Doris ha sido significativamente mejorada. No solo mejora las capacidades de lectura y escritura de los formatos de lago de datos más utilizados (Hudi, Iceberg, Paimon, etc.), sino que también introduce compatibilidad con múltiples dialectos SQL, permitiendo una transición sin problemas desde los sistemas existentes a Apache Doris. En ciencia de datos y escenarios de lectura de datos a gran escala, Doris integra la interfaz de lectura de alta velocidad Arrow Flight, logrando una mejora de 100 veces en la eficiencia de transferencia de datos.

Así, Xiao Zhang decidió usar Doris + Iceberg para su redención.

Apache Doris ofrece soporte nativo para muchas características fundamentales de Iceberg:

  • Soporta varios tipos de Catálogo de Iceberg como Hive Metastore, Hadoop, REST, Glue, Google Dataproc Metastore y DLF.
  • Soporta nativamente los formatos de tabla Iceberg V1/V2, así como la lectura de archivos de Eliminación por Posición y Eliminación por Igualdad.
  • Soporta la consulta del historial de instantáneas de tablas Iceberg a través de funciones de tabla.
  • Soporta la funcionalidad de viaje en el tiempo.
  • Soporta nativamente el motor de tablas Iceberg. Apache Doris puede crear, gestionar y escribir datos directamente en tablas Iceberg. Soporta un conjunto completo de funciones de transformación de particiones, proporcionando capacidades como particiones ocultas y evolución del diseño de particiones.

Además, la versión 2.1.6 de Doris trajo mejoras significativas a Doris + Iceberg:

Apache Doris soporta operaciones DDL y DML en Iceberg. Los usuarios pueden crear bases de datos y tablas en Iceberg a través de Apache Doris y escribir datos en tablas Iceberg.

A través de esta característica, los usuarios pueden realizar consultas de datos completas y operaciones de escritura en Iceberg utilizando Apache Doris, simplificando aún más la arquitectura del lakehouse.

Por lo tanto, Xiao Zhang puede construir rápidamente una solución de lakehouse eficiente basada en Apache Doris + Apache Iceberg para satisfacer de manera flexible diversas necesidades de análisis y procesamiento de datos en tiempo real:

  • Utilizar el motor de consultas de alto rendimiento de Doris para unir y analizar datos de tablas Iceberg y otras fuentes de datos, construyendo una plataforma unificada de análisis de datos federados.
  • Gestionar y construir tablas Iceberg directamente en Doris, limpiar y procesar datos, y escribirlos en tablas Iceberg, construyendo una plataforma unificada de procesamiento de datos en lakehouse.
  • Compartir datos de Doris con otros sistemas upstream y downstream para un procesamiento adicional a través del motor de tablas Iceberg, construyendo una plataforma unificada de almacenamiento de datos abierto.

¡Esto ya no es una simple integración superficial, sino una fusión profunda de arquitecturas de lakehouse!

Resumen Práctico de Doris e Iceberg

Después de una serie de altibajos en la exploración y práctica, Xiao Zhang ha resumido algunas experiencias prácticas con Doris + Iceberg:

Gestión Inteligente de Metadatos

En soluciones tradicionales, la gestión de metadatos siempre ha sido un tema espinoso. La información de particiones de tablas, ubicaciones de archivos e historiales de cambios de esquema están dispersas, lo que lleva a un bajo rendimiento de consultas y a operaciones y mantenimiento complejos.

Doris + Iceberg proporciona una capa de gestión de metadatos unificada:

Esta arquitectura aporta varios valores clave:

  1. Evolución de esquema sin interrupciones: Los cambios en la estructura de la tabla ya no requieren tiempo de inactividad. Doris + Iceberg admite agregar, eliminar y modificar campos, así como ajustar los métodos de particionamiento.
  2. Gestión de versiones de datos: A través del Mecanismo de instantáneas de Iceberg, puedes revertir al estado de los datos en cualquier momento.
  3. Servicio de catálogo unificado: Admite varios tipos de Catálogo de Iceberg, como Hive Metastore, Hadoop, REST, Glue, Google Dataproc Metastore y DLF, integrándose sin problemas con la infraestructura existente.

Xiao Zhang ahora puede completar los cambios de esquema con una sola ALTER TABLE declaración. El sistema maneja automáticamente la compatibilidad, y las aplicaciones de downstream no se percatan de los cambios.

Organización Eficiente de Datos

Doris combina de manera innovadora el motor MPP con los métodos de organización de datos de Iceberg:

SQL

 

Esta declaración SQL oculta poderosos mecanismos técnicos:

  • Organización de archivos: Soporta medios de almacenamiento comunes como HDFS y almacenamiento de objetos.
  • Particionamiento inteligente: Soporta funciones de transformación de particiones para habilitar las características de particionamiento implícito y evolución de particiones de Iceberg.
  • Optimización de almacenamiento: Soporta formatos de almacenamiento en columnas como Parquet y ORC, combinados con varios métodos de compresión para mejorar el rendimiento.

Con el apoyo de Doris para operaciones DDL y DML en Iceberg, los problemas de consistencia de datos también se resuelven completamente.

Gestión de Operaciones y Mantenimiento

Para garantizar la estabilidad de la plataforma de datos, Xiao Zhang utiliza los siguientes métodos para monitorear y gestionar las tablas de Iceberg:

SQL

 

Este conjunto de herramientas proporciona:

  • Monitoreo de métricas: Control en tiempo real del estado de la tabla y métricas de instantáneas.
  • Gestión de instantáneas: Limpiar instantáneas expiradas para liberar espacio de almacenamiento.
  • Recuperación de fallos: Soporta retrocesos a cualquier versión histórica (lectura de datos de versión histórica basada en ID de instantánea o tiempo de creación de la instantánea).

A través de estas prácticas, la plataforma de datos de Xiao Zhang basada en Doris + Iceberg ha alcanzado nuevas alturas:

  • El rendimiento de consulta mejoró en un 300%.
  • Los costos de almacenamiento se redujeron en un 40%.
  • La eficiencia de operaciones y mantenimiento aumentó en un 200%.

El emocionante viaje de la casa de verano de Doris nunca termina.

¡Mantente atento para más contenido interesante, útil y valioso en la próxima edición!

Source:
https://dzone.com/articles/when-doris-meets-iceberg