Las arquitecturas de lagos de datos siguen ganando popularidad, y eso no debería sorprender. Su potencial para integrar las mejores características de los lagos y almacenes de datos proporciona una experiencia transformadora para el procesamiento y análisis de datos. Sin embargo, este enfoque tiene desventajas. Este artículo examina estos problemas, como el rendimiento de las consultas y los altos costos, e introduce nuevas tecnologías que ayudan a unir las transacciones.
Status Quo del análisis en Data Lakehouse
Las casas en el lago han atraído a muchas empresas con la promesa de flexibilidad, escalabilidad y rentabilidad. Sin embargo, la realidad es que los motores de consulta actuales de Lakehouse no logran ofrecer rendimiento de consultas para análisis a escala de baja latencia o alta concurrencia. Actualmente, los motores de consulta que impulsan estos lagos de datos están fragmentados. Por un lado, contamos con motores optimizados para flujos de trabajo de producción, transporte y carga (ETL), que se centran en las operaciones fase a fase. Por otro lado, vemos que los motores no utilizan optimizaciones modernas como conjuntos de instrucciones de instrucción única y datos múltiples (SIMD), que son esenciales para utilizar toda la potencia de las CPU modernas.
Esta limitación de rendimiento inherente ha llevado a muchos usuarios a copiar sus datos del lago a almacenes de datos propietarios para lograr el rendimiento de consulta deseado. Pero ésta es una solución costosa.
Costo n.º 1: el consumo de datos es caro

Figura 1: Una cuadrícula de datos común
Al principio, introducir datos en un almacén de datos parece un proceso sencillo, pero está lejos de serlo. Este proceso requiere convertir los datos a un formato específico de almacenamiento, una tarea que requiere importantes recursos de hardware. Además, esta duplicación conduce a un mayor almacenamiento de datos, una propuesta costosa en términos de costo y espacio.
Tampoco son sólo recursos físicos; el esfuerzo humano requerido es igualmente importante. Tareas aparentemente sencillas, como sincronizar tipos de datos entre dos sistemas, pueden agotar recursos. Además, este proceso de manejo de datos introduce latencia sin darse cuenta, lo que compromete la frescura de sus datos.
Costo #2: La línea de intercambio de datos es mala para la gestión de datos
La integridad y precisión de los datos es esencial para cualquier empresa. Irónicamente, el acto de almacenar datos en otro repositorio, que técnicamente debería aumentar su usabilidad, plantea serios desafíos a la gestión de datos. ¿Cómo puede asegurarse de que todas las copias se actualicen constantemente? ¿Cómo se pueden prevenir conflictos entre diferentes copias? ¿Y cómo se puede hacer esto manteniendo una sólida gestión de datos? Éstas no son sólo preguntas teóricas; son desafíos técnicos serios que requieren un esfuerzo de ingeniería significativo y, cuando se hacen incorrectamente, tienen el potencial de afectar la precisión de sus decisiones basadas en datos.
Un enfoque innovador: Linear Data Lakehouse
Los problemas inherentes al rendimiento de las consultas Lakehouse y el uso de almacenes de datos propietarios como solución están impulsando a un número creciente de empresas a buscar alternativas más eficientes. Un enfoque popular ha sido adoptar una arquitectura de lago sin flujo. Así es como funciona.
Una arquitectura MPP con descomposición de datos en memoria
Los motores de consulta del lago de datos utilizan la manipulación de datos para aumentar el rendimiento, especialmente con operaciones y agregaciones complejas. Sin embargo, muchos motores de lagos de datos, originalmente diseñados para el almacenamiento discreto y económico de lagos de datos, se centran en la transferencia de datos y consultas ad hoc, persistiendo los resultados intermedios en el disco. Aunque es adecuado para trabajos por lotes, este método evita cargas de trabajo avanzadas en lagos, especialmente consultas del lado del cliente en tiempo real. Además, el almacenamiento en caché basado en disco introduce latencia, dificulta el rendimiento de las consultas e impide obtener información instantánea.

Figura 2: Marco MPP vs MapReduce
Para superar este desafío y ejecutar consultas de baja latencia directamente en el lago de datos, adoptar motores de consultas de procesamiento paralelo masivo (MPP) creados con transferencia de datos en memoria es una decisión inteligente. A diferencia de los enfoques tradicionales, el intercambio en memoria evita por completo la persistencia del disco. Esto garantiza que la ejecución de consultas sea fluida y con una latencia casi nula. Estas operaciones no solo son eficientes, sino también importantes para lograr una baja latencia de consultas, lo que permite obtener información inmediata directamente desde el lago de datos.
Un marco de almacenamiento en caché bien diseñado
Uno de los principales obstáculos para optimizar las consultas del lago de datos es la gran carga de trabajo que supone recuperar datos de ubicaciones de almacenamiento remotas. El gran volumen y la naturaleza dispersa de los datos en los lagos hacen que cualquier monitoreo sea una tarea que requiere muchos recursos. Es esencial contar con un sistema de almacenamiento en caché de datos integrado y bien diseñado. El sistema de almacenamiento en caché debe utilizar un mecanismo de almacenamiento en caché jerárquico, utilizando no solo el almacenamiento en caché en disco sino también el almacenamiento en memoria caché, reduciendo el acceso a los datos desde el almacenamiento remoto y, por lo tanto, reduciendo la latencia.
Además, la eficacia de este marco de almacenamiento en caché depende de su integración con el motor de búsqueda. En lugar de ser un módulo independiente que requiere una implementación separada (lo que puede introducir complejidad y posibles desafíos de rendimiento), debería integrarse de forma nativa dentro del sistema. Esta arquitectura integrada simplifica las operaciones y garantiza que la caché funcione con el máximo rendimiento, proporcionando así el mejor rendimiento posible para la recuperación de datos y la ejecución de consultas.
Más optimizaciones a nivel del sistema

Figura 3: optimizaciones SIMD
Las optimizaciones a nivel del sistema como SIMD desempeñan un papel constante en la mejora del rendimiento del grupo. Por ejemplo, los desarrollos SIMD facilitan el procesamiento simultáneo de múltiples puntos de datos con instrucciones integradas. Cuando se combina con el almacenamiento en columnas, que normalmente se encuentra en formatos de archivos de lagos de datos abiertos como Parquet o Columna de filas optimizadas (ORC), permite que los datos se procesen en fragmentos más grandes y mejora significativamente el rendimiento de las consultas de procesamiento analítico en línea (OLAP). aquellos que están involucrados. participar en las operaciones.
Considere las soluciones de código abierto
Finalmente, priorice las soluciones de código abierto. Adoptar el código abierto es fundamental si desea maximizar los beneficios de la arquitectura de su lago de datos. La naturaleza abierta de la comunicación en Lakehouse se extiende sólo a los formatos que admite; Una de sus ventajas más importantes es la flexibilidad que ofrece. Esta modularidad significa que los componentes, incluidos los motores de consulta, se pueden cambiar con un esfuerzo mínimo, lo que le permite mantenerse ágil y adaptarse fácilmente al panorama cambiante del análisis de datos.
Seamless Data Lakehouses en acción: la plataforma Artnova de Trip.com
Todo esto puede sonar bien en teoría, pero ¿qué pasa en la práctica? La plataforma integrada de comunicaciones internas de Trip.com, Artnova, ofrece un gran ejemplo.

Figura 4. Antes: Funciones comerciales críticas que se implementan en StarRocks
Inicialmente, Artnova utilizó Apache Hive como lago de datos y Trino como motor de búsqueda. Sin embargo, debido al gran volumen de datos asociado con la necesidad de una baja latencia y la capacidad de manejar una gran cantidad de solicitudes simultáneas, Trino no puede cumplir con algunos casos de uso. Trip.com tuvo que replicar y transferir datos a StarRocks, su almacén de datos de alto rendimiento. Si bien esta estrategia resolvió algunos problemas de rendimiento, también introdujo más problemas:
- La actualización de los datos se retrasa a pesar de la entrada relativamente rápida, lo que afecta la flexibilidad y puntualidad de las consultas.
- Agregó complejidad a la canalización de datos debido a tareas de manejo adicionales y requisitos de diseño de índices y esquemas de tablas.
La duplicación de datos a otro almacén de datos es compleja y costosa. Trip.com decidió trasladar inicialmente solo cargas de trabajo críticas para el negocio a StarRocks, pero finalmente decidió que era necesaria una actualización arquitectónica y amplió su uso de StarRocks.

Figura 5. Después: StarRocks como motor de consultas integrado
Según las pruebas de rendimiento realizadas por Trip.com, utilizar StarRocks como motor de consulta es 7,4 veces más rápido que Trino al consultar los mismos datos. Con los casos de uso críticos para el negocio acelerados aún más por la visibilidad de materiales incorporada de StarRocks, la ganancia de rendimiento es significativa.
Evite las tuberías con su Data Lakehouse
La evolución del lago de datos ha remodelado el análisis de datos, combinando las ventajas de los lagos de datos y los almacenes de datos. A pesar de su potencial transformador, persisten desafíos como el rendimiento eficiente de las consultas. Las soluciones innovadoras como la ejecución de consultas MPP, los marcos de almacenamiento en caché y las optimizaciones a nivel de sistema pueden cerrar estas brechas y permitir que las empresas disfruten de todos los beneficios del grupo sin los inconvenientes.
YOUTUBE.COM/THENEWSTACK
La tecnología avanza rápido, no olvides una parte. Suscríbase a nuestro canal de YouTube para ver todos los podcasts, entrevistas, demostraciones y más.
SUSCRIBIR