Índice del contenido[Esconder][Espectáculo]
Puede ser un poco difícil considerar todos los servicios disponibles y las opciones arquitectónicas al pensar en plataformas de datos.
Una plataforma de datos empresariales a menudo consta de almacenes de datos, modelos de datos, lagos de datos e informes, cada uno con un propósito específico y un conjunto de habilidades necesarias. Por el contrario, durante los últimos años ha surgido un nuevo diseño llamado data lakehouse.
La versatilidad de los lagos de datos y la gestión de datos del almacén de datos se combinan en una arquitectura de almacenamiento de datos revolucionaria denominada "casa del lago de datos".
Examinaremos en profundidad el data lakehouse en esta publicación, incluidos sus componentes, características, arquitectura y otros aspectos.
¿Qué es Data Lakehouse?
Como su nombre lo indica, una casa de lago de datos es un nuevo tipo de arquitectura de datos que combina un lago de datos con un almacén de datos para resolver las deficiencias de cada uno por separado.
En esencia, el sistema Lakehouse utiliza un almacenamiento económico para mantener cantidades masivas de datos en sus formas originales, al igual que los lagos de datos. Agregar la capa de metadatos en la parte superior de la tienda también brinda estructura de datos y potencia las herramientas de administración de datos como las que se encuentran en los almacenes de datos.
Almacena los enormes volúmenes de datos organizados, semiestructurados y no estructurados que obtienen de las diferentes aplicaciones, sistemas y dispositivos comerciales utilizados en su organización.
La mayoría de las veces, los lagos de datos utilizan una infraestructura de almacenamiento de bajo costo con una interfaz de programación de aplicaciones (API) de archivos para almacenar datos en formatos de archivo abiertos y genéricos.
Esto hace posible que muchos equipos accedan a todos los datos de la empresa a través de un solo sistema para una variedad de iniciativas, como ciencia de datos, máquina de aprendizaje, e inteligencia de negocios.
Caracteristicas
- Almacenamiento a bajo costo. Un lago de datos debe poder almacenar datos en un almacenamiento de objetos económico, como Google Cloud Storage, Azure Blob Storage, Amazon Simple Storage Service o de forma nativa mediante ORC o Parquet.
- Capacidad para la optimización de datos: la optimización del diseño de datos, el almacenamiento en caché y la indexación son algunos ejemplos de cómo un lago de datos debe poder optimizar los datos mientras mantiene el formato original de los datos.
- Una capa de metadatos transaccionales: además del almacenamiento esencial de bajo costo, esto habilita capacidades de administración de datos cruciales para el rendimiento del almacén de datos.
- Compatibilidad con la API de marco de datos declarativo: la mayoría de las herramientas de IA pueden usar marcos de datos para recuperar datos almacenados de objetos sin procesar. La compatibilidad con la API de marco de datos declarativo aumenta la capacidad de mejorar dinámicamente la presentación y la estructura de los datos en respuesta a una tarea particular de ciencia de datos o IA.
- Compatibilidad con transacciones ACID: el acrónimo ACID, que significa atomicidad, consistencia, aislamiento y durabilidad, es un componente fundamental para definir una transacción y garantizar la consistencia y confiabilidad de los datos. Anteriormente, tales transacciones solo eran posibles en almacenes de datos, pero el Lakehouse ofrece la opción de utilizarlos con lagos de datos también. Con varias canalizaciones de datos que incluyen lecturas y escrituras simultáneas de datos, esto resuelve el problema de la baja calidad de los datos de estos últimos.
Elementos de Data Lakehouse
La arquitectura de la casa del lago de datos se divide en dos niveles principales en un nivel alto. La entrada de datos de la capa de almacenamiento está controlada por la plataforma Lakehouse (es decir, el lago de datos).
Sin necesidad de cargar los datos en un almacén de datos o convertirlos a un formato propietario, la capa de procesamiento puede consultar los datos en la capa de almacenamiento directamente utilizando una variedad de herramientas.
Luego, las aplicaciones de BI, así como las tecnologías de IA y ML, pueden usar los datos. Este diseño proporciona la economía de un lago de datos, pero debido a que cualquier motor de procesamiento puede leer estos datos, las empresas tienen la libertad de hacer que los datos preparados sean accesibles para su análisis por parte de una variedad de sistemas. El rendimiento y el costo del procesador se pueden mejorar utilizando este método para el procesamiento y el análisis.
Debido a su soporte para transacciones de bases de datos que se adhieren a los siguientes criterios ACID (atomicidad, consistencia, aislamiento y durabilidad), la arquitectura también permite que muchas partes accedan y escriban datos simultáneamente dentro del sistema:
- Atomicidad se refiere al hecho de que la transacción completa o nada de ella tiene éxito mientras se completa una transacción. En caso de que se interrumpa un proceso, esto ayuda a evitar la pérdida o corrupción de datos.
- Consistencia garantiza que las transacciones ocurran de manera predecible y consistente. Mantiene la integridad de los datos al garantizar que todos los datos sean legítimos de acuerdo con reglas predeterminadas.
- Aislamiento asegura que, hasta que finalice, ninguna transacción puede verse afectada por ninguna otra transacción dentro del sistema. Esto permite que numerosas partes lean y escriban desde el mismo sistema simultáneamente sin interferir entre sí.
- Durabilidad garantiza que los cambios en los datos de un sistema continúan existiendo después de que finaliza una transacción, incluso en caso de falla del sistema. Cualquier alteración provocada por una transacción se mantiene en archivo para siempre.
Arquitectura del lago de datos
Databricks (el innovador y diseñador de su concepto Delta Lake) y AWS son los dos principales defensores del concepto de data lakehouse. Por lo tanto, confiaremos en su conocimiento y perspicacia para describir el diseño arquitectónico de las casas del lago.
Un sistema de lago de datos normalmente tendrá cinco capas:
- Capa de ingestión
- Capa de almacenamiento
- Capa de metadatos
- capa de API
- Capa de consumo
Capa de ingestión
La primera capa del sistema se encarga de recopilar datos de varias fuentes y enviarlos a la capa de almacenamiento. La capa puede utilizar varios protocolos para conectarse a numerosas fuentes internas y externas, incluida la combinación de capacidades de procesamiento de datos por lotes y transmisión, como
- bases de datos NoSQL,
- recursos compartidos de archivos
- aplicaciones CRM,
- sitios web,
- sensores IoT,
- redes sociales,
- Aplicaciones de software como servicio (SaaS), y
- sistemas de gestión de bases de datos relacionales, etc.
En este punto, se pueden emplear componentes como Apache Kafka para transmisión de datos y Amazon Data Migration Service (Amazon DMS) para importar datos de RDBMS y bases de datos NoSQL.
Capa de almacenamiento
La arquitectura Lakehouse está diseñada para permitir el almacenamiento de varios tipos de datos como objetos en almacenes de objetos económicos, como AWS S3. Usando formatos de archivo abiertos, las herramientas del cliente pueden leer estos elementos directamente desde la tienda.
Esto hace posible que muchas API y componentes de la capa de consumo accedan a los mismos datos y los utilicen. La capa de metadatos almacena los esquemas para conjuntos de datos estructurados y semiestructurados para que los componentes puedan aplicarlos a los datos a medida que los leen.
La plataforma Hadoop Distributed File System (HDFS), por ejemplo, se puede utilizar para construir servicios de repositorio en la nube que dividen la informática y el almacenamiento en las instalaciones. Lakehouse es ideal para estos servicios.
Capa de metadatos
La capa de metadatos es el componente fundamental de un lago de datos que distingue a este diseño. Es un catálogo único que ofrece metadatos (información sobre otras piezas de datos) para todos los elementos almacenados en el lago y permite a los usuarios emplear capacidades de administración como:
- Las transacciones concurrentes ven una versión consistente de la base de datos gracias a las transacciones ACID;
- almacenamiento en caché para guardar archivos de almacenamiento de objetos en la nube;
- agregar índices de estructura de datos usando la indexación para acelerar el procesamiento de consultas;
- usar la clonación de copia cero para duplicar objetos de datos; y
- para almacenar ciertas versiones de los datos, etc., utilice el control de versiones de datos.
Además, la capa de metadatos permite la implementación de la gestión de esquemas, el uso de topologías de esquema DW como esquemas de estrella/copo de nieve, y la provisión de capacidad de control y auditoría de datos directamente en el lago de datos, lo que mejora la integridad de toda la canalización de datos.
Las funciones para la evolución y el cumplimiento del esquema se incluyen en la gestión del esquema. Al rechazar cualquier escritura que no cumpla con el esquema de la tabla, la aplicación del esquema permite a los usuarios mantener la integridad y la calidad de los datos.
La evolución del esquema permite modificar el esquema actual de la tabla para adaptarse a los datos cambiantes. Debido a una interfaz de administración única en la parte superior del lago de datos, también hay posibilidades de auditoría y control de acceso.
capa de API
Ahora está presente otra capa crucial de la arquitectura, que alberga una serie de API que todos los usuarios finales pueden usar para realizar trabajos más rápidamente y obtener estadísticas más sofisticadas.
El uso de API de metadatos facilita la identificación y el acceso a los elementos de datos necesarios para una aplicación determinada.
En términos de bibliotecas de aprendizaje automático, algunas de ellas, como TensorFlow y Spark MLlib, pueden leer formatos de archivo abiertos como Parquet y acceder directamente a la capa de metadatos.
Al mismo tiempo, las API de DataFrame ofrecen mayores posibilidades de optimización, lo que permite a los programadores organizar y cambiar datos dispersos.
Capa de consumo
Power BI, Tableau y otras herramientas y aplicaciones se alojan en la capa de consumo. Con el diseño de la casa del lago, las aplicaciones cliente pueden acceder a todos los metadatos y todos los datos que se guardan en un lago.
La casa del lago puede ser utilizada por todos los usuarios dentro de una empresa para realizar todo tipo de operaciones de análisis, incluida la creación de paneles de inteligencia comercial y la ejecución de consultas SQL y tareas de aprendizaje automático.
Ventajas de Data Lakehouse
Las organizaciones pueden crear un lago de datos para unificar su plataforma de datos actual y optimizar todo su proceso de gestión de datos. Al desmantelar las barreras de silo que conectan varias fuentes, un lago de datos puede reemplazar la necesidad de soluciones distintas.
En comparación con las fuentes de datos seleccionadas, esta integración produce un procedimiento integral significativamente más efectivo. Esto tiene varias ventajas:
- Menos administración: En lugar de extraer datos de datos sin procesar y prepararlos para su uso dentro de un almacén de datos, un lago de datos permite que cualquier fuente vinculada a él tenga sus datos disponibles y organizados para su uso.
- Mayor rentabilidad: Las casas de lagos de datos se construyen utilizando una infraestructura contemporánea que divide el cómputo y el almacenamiento, lo que simplifica la expansión del almacenamiento sin aumentar la potencia de cómputo. Solo el uso de almacenamiento de datos de bajo costo da como resultado una escalabilidad que es rentable.
- Mejor gobierno de datos: Los lagos de datos se construyen con una arquitectura abierta estandarizada, lo que permite un mayor control sobre la seguridad, las métricas, el acceso basado en funciones y otros componentes de gestión importantes. Al unificar recursos y fuentes de datos, simplifican y mejoran la gobernanza.
- Estándares simplificados: Dado que la conexión estaba muy restringida en la década de 1980, cuando se desarrollaron por primera vez los almacenes de datos, los estándares de esquema localizados se desarrollaron con frecuencia dentro de las empresas, incluso departamentos. Los data lakehouses aprovechan el hecho de que muchos tipos de datos ahora tienen estándares abiertos para el esquema al ingerir numerosas fuentes de datos con el esquema uniforme superpuesto para agilizar los procedimientos.
Desventajas de Data Lakehouse
A pesar de todo el alboroto que rodea a las casas de lago de datos, es importante tener en cuenta que la idea aún es muy nueva. Asegúrese de sopesar las desventajas antes de comprometerse por completo con este nuevo diseño.
- Estructura monolítica: El diseño integral de una casa del lago ofrece varias ventajas, pero también plantea algunos problemas. La arquitectura monolítica a menudo conduce a un servicio deficiente para todos los usuarios y puede ser rígida y difícil de mantener. Por lo general, a los arquitectos y diseñadores les gusta una arquitectura más modular que puedan personalizar para varios casos de uso.
- La tecnología aún no ha llegado: el objetivo final implica una cantidad significativa de aprendizaje automático e inteligencia artificial. Antes de que los lagos puedan funcionar según lo previsto, estas tecnologías deben desarrollarse aún más.
- No es un avance significativo sobre las estructuras existentes.: Todavía existe un escepticismo considerable sobre cuánto más valor aportarán realmente las casas del lago. Algunos detractores sostienen que un diseño de depósito en un lago combinado con el equipo automatizado apropiado puede lograr una eficiencia comparable.
Desafíos de Data Lakehouse
Podría ser difícil adoptar la técnica de data lakehouse. Debido a la complejidad de sus componentes, no es correcto ver el data lakehouse como una estructura ideal que lo abarca todo o "una plataforma para todo", por ejemplo.
Además, debido a la creciente adopción de lagos de datos, las empresas tendrán que trasladar sus almacenes de datos actuales a ellos, confiando únicamente en una promesa de éxito sin ningún beneficio económico demostrable.
Si hay problemas de latencia o interrupciones durante el proceso de transferencia, esto podría terminar siendo costoso, lento y quizás inseguro.
Los usuarios comerciales deben adoptar tecnologías altamente especializadas, según ciertos proveedores que expresa o implícitamente comercializan soluciones como lagos de datos. Es posible que estos no siempre funcionen con otras herramientas vinculadas al lago de datos en el centro del sistema, lo que se suma a los problemas.
Además, puede ser difícil proporcionar análisis las 24 horas del día, los 7 días de la semana mientras se ejecutan cargas de trabajo críticas para el negocio, lo que requiere una infraestructura con escalabilidad rentable.
Conclusión
La variedad más nueva de centros de datos en los últimos años es el data lakehouse. Integra una variedad de campos, como tecnología de la información, software de código abierto, la computación en nubey protocolos de almacenamiento distribuido.
Permite a las empresas almacenar de forma centralizada todo tipo de datos desde cualquier ubicación, lo que simplifica la gestión y el análisis. Data Lakehouse es un concepto bastante intrigante.
Cualquier empresa tendría una ventaja competitiva significativa si tuviera acceso a una plataforma de datos todo en uno que fuera tan rápida y eficiente como un almacén de datos y al mismo tiempo tan flexible como un lago de datos.
La idea aún se está desarrollando y sigue siendo relativamente nueva. Como resultado, podría llevar algún tiempo determinar si algo puede generalizarse o no.
Todos deberíamos tener curiosidad acerca de la dirección en la que se dirige la arquitectura de Lakehouse.
Deje un comentario