Pode ser un pouco difícil considerar todos os servizos dispoñibles e as opcións arquitectónicas ao pensar nas plataformas de datos.
Unha plataforma de datos empresarial adoita estar formada por almacéns de datos, modelos de datos, lagos de datos e informes, cada un cun propósito específico e un conxunto de habilidades necesarias. En cambio, un novo deseño chamado data lakehouse xurdiu durante os últimos anos.
A versatilidade dos lagos de datos e a xestión de datos do almacén de datos combínanse nunha arquitectura de almacenamento de datos revolucionaria denominada "lago de datos".
Examinaremos en profundidade a data Lakehouse nesta publicación, incluíndo os seus compoñentes, características, arquitectura e outros aspectos.
Que é Data Lakehouse?
Como o nome indica, un data lakehouse é un novo tipo de arquitectura de datos que combina un data lake cun data warehouse para resolver as deficiencias de cada un por separado.
En esencia, o sistema lakehouse usa un almacenamento económico para manter cantidades masivas de datos nas súas formas orixinais, ao igual que os lagos de datos. Engadir a capa de metadatos na parte superior da tenda tamén dá estrutura de datos e potencia ferramentas de xestión de datos como as que se atopan nos almacéns de datos.
Almacena os enormes volumes de datos organizados, semiestruturados e non estruturados que obteñen das diferentes aplicacións empresariais, sistemas e gadgets utilizados ao longo da súa organización.
Na maioría das veces, os lagos de datos usan unha infraestrutura de almacenamento de baixo custo cunha interface de programación de aplicacións de ficheiros (API) para almacenar datos en formatos de ficheiro xenéricos e abertos.
Isto fai posible que moitos equipos accedan a todos os datos da empresa a través dun único sistema para unha variedade de iniciativas, como a ciencia de datos, aprendizaxe de máquina, e intelixencia empresarial.
características
- Almacenamento de baixo custo. Un data lakehouse debe ser capaz de almacenar datos nun almacenamento de obxectos económicos, como Google Cloud Almacenamento, Azure Blob Storage, Amazon Simple Storage Service ou de forma nativa usando ORC ou Parquet.
- Capacidade para a optimización de datos: a optimización do deseño de datos, a almacenaxe en caché e a indexación son algúns exemplos de como un data lakehouse debe ser capaz de optimizar os datos mantendo o formato orixinal dos datos.
- Unha capa de metadatos transaccionais: ademais do almacenamento esencial de baixo custo, isto permite capacidades de xestión de datos cruciales para o rendemento do almacén de datos.
- Compatibilidade coa API Declarative DataFrame: a maioría das ferramentas de IA poden usar DataFrame para recuperar datos do almacén de obxectos en bruto. A compatibilidade coa API Declarative DataFrame aumenta a capacidade de mellorar dinámicamente a presentación e a estrutura dos datos en resposta a unha determinada tarefa de ciencia de datos ou de intelixencia artificial.
- Soporte para transaccións con ACID: o acrónimo ACID, que significa atomicidade, consistencia, illamento e durabilidade, é un compoñente fundamental para definir unha transacción e garantir a coherencia e fiabilidade dos datos. Tales transaccións antes só eran posibles en almacéns de datos, pero o lakehouse ofrece a opción de utilizalos con data lakes así como. Con varias canalizacións de datos que inclúen lecturas e escrituras simultáneas, isto resolve o problema da baixa calidade dos datos deste último.
Elementos de Data Lakehouse
A arquitectura do data lakehouse divídese en dous niveis principais a un alto nivel. A inxestión de datos da capa de almacenamento está controlada pola plataforma Lakehouse (é dicir, o lago de datos).
Sen necesidade de cargar os datos nun almacén de datos ou convertelos nun formato propietario, a capa de procesamento pode consultar directamente os datos na capa de almacenamento mediante unha serie de ferramentas.
Entón, as aplicacións de BI, así como as tecnoloxías de IA e ML, poden usar os datos. Este deseño proporciona a economía dun lago de datos, pero como calquera motor de procesamento pode ler estes datos, as empresas teñen a liberdade de facer que os datos preparados sexan accesibles para a súa análise mediante unha serie de sistemas. O rendemento e o custo do procesador pódense mellorar usando este método para o procesamento e análise.
Debido á súa compatibilidade con transaccións de bases de datos que cumpren os seguintes criterios ACID (atomicidade, consistencia, illamento e durabilidade), a arquitectura tamén permite que moitas partes accedan e escriban datos simultáneamente dentro do sistema:
- Atomicidade refírese ao feito de que a transacción completa ou ningunha ten éxito mentres se completa unha transacción. No caso de que un proceso se interrompa, isto axuda a evitar a perda ou a corrupción dos datos.
- Consistencia garante que as transaccións ocorren de forma previsible e coherente. Mantén a integridade dos datos garantindo que todos os datos sexan lexítimos de acordo coas regras predeterminadas.
- Illamento garante que, ata que remate, ningunha transacción pode verse afectada por ningunha outra transacción dentro do sistema. Isto permite que numerosas partes poidan ler e escribir desde o mesmo sistema ao mesmo tempo sen interferir entre si.
- Durabilidade garante que os cambios nos datos dun sistema continúan existindo despois de que finalice unha transacción, mesmo en caso de fallo do sistema. Calquera alteración provocada por unha transacción gárdanse no arquivo para sempre.
Arquitectura Data Lakehouse
Databricks (o innovador e deseñador do seu concepto Delta Lake) e AWS son os dous principais defensores do concepto de data lakehouse. Así, confiaremos nos seus coñecementos e coñecementos para describir a disposición arquitectónica das casas do lago.
Un sistema de data lakehouse normalmente terá cinco capas:
- Capa de inxestión
- Capa de almacenamento
- Capa de metadatos
- Capa API
- Capa de consumo
Capa de inxestión
A primeira capa do sistema encárgase de recoller os datos de diversas fontes e envialos á capa de almacenamento. A capa pode utilizar varios protocolos para conectarse a numerosas fontes internas e externas, incluíndo a combinación de capacidades de procesamento de datos por lotes e transmisión, como
- bases de datos NoSQL,
- compartición de ficheiros
- aplicacións CRM,
- sitios web,
- sensores IoT,
- redes sociais,
- Aplicacións de software como servizo (SaaS) e
- sistemas de xestión de bases de datos relacionais, etc.
Neste punto, pódense empregar compoñentes como Apache Kafka para a transmisión de datos e Amazon Data Migration Service (Amazon DMS) para importar datos de RDBMS e bases de datos NoSQL.
Capa de almacenamento
A arquitectura do lago está destinada a permitir o almacenamento de varios tipos de datos como obxectos en tendas de obxectos baratas, como AWS S3. Usando formatos de ficheiro abertos, as ferramentas do cliente poden ler estes elementos directamente desde a tenda.
Isto fai posible que moitas API e compoñentes da capa de consumo accedan e utilicen os mesmos datos. A capa de metadatos almacena os esquemas dos conxuntos de datos estruturados e semiestruturados para que os compoñentes poidan aplicalos aos datos mentres os len.
A plataforma Hadoop Distributed File System (HDFS), por exemplo, pódese usar para construír servizos de repositorio na nube que dividen a informática e o almacenamento local. Lakehouse é ideal para estes servizos.
Capa de metadatos
A capa de metadatos é o compoñente fundamental dun data lakehouse que distingue este deseño. É un único catálogo que ofrece metadatos (información sobre outras pezas de datos) para todos os elementos almacenados no lago e permite aos usuarios empregar capacidades de administración como:
- Unha versión consistente da base de datos é vista por transaccións concorrentes grazas ás transaccións ACID;
- caché para gardar ficheiros de almacenamento de obxectos na nube;
- engadir índices de estrutura de datos mediante a indexación para acelerar o procesamento de consultas;
- usando a clonación de copia cero para duplicar obxectos de datos; e
- para almacenar determinadas versións dos datos, etc., use a versión de datos.
Ademais, a capa de metadatos permite a implementación da xestión de esquemas, o uso de topoloxías de esquemas DW como esquemas estrela/copo de neve e a provisión de capacidade de goberno e auditoría de datos directamente no lago de datos, mellorando a integridade de toda a canalización de datos.
As funcións para a evolución e a aplicación do esquema inclúense na xestión do esquema. Ao rexeitar calquera escritura que non cumpra o esquema da táboa, a aplicación do esquema permite aos usuarios manter a integridade e a calidade dos datos.
A evolución do esquema permite modificar o esquema actual da táboa para acomodar datos cambiantes. Debido a unha única interface de administración enriba do lago de datos, tamén hai posibilidades de control de acceso e auditoría.
Capa API
Agora está presente outra capa crucial da arquitectura, que alberga unha serie de API que todos os usuarios finais poden usar para realizar traballos máis rápido e obter estatísticas máis sofisticadas.
O uso de API de metadatos facilita a identificación e o acceso aos elementos de datos necesarios para unha determinada aplicación.
En canto ás bibliotecas de aprendizaxe automática, algunhas delas, como TensorFlow e Spark MLlib, poden ler formatos de ficheiros abertos como Parquet e acceder directamente á capa de metadatos.
Ao mesmo tempo, as API de DataFrame ofrecen maiores posibilidades de optimización, o que permite aos programadores organizar e cambiar os datos dispersos.
Capa de consumo
Power BI, Tableau e outras ferramentas e aplicacións están aloxadas baixo a capa de consumo. Co deseño do lago, todos os metadatos e todos os datos que se gardan nun lago son accesibles para as aplicacións do cliente.
A casa do lago pode ser utilizada por todos os usuarios dunha empresa para realizar todo tipo de actividades operacións analíticas, incluíndo a creación de paneis de intelixencia empresarial e a execución de consultas SQL e tarefas de aprendizaxe automática.
Vantaxes de Data Lakehouse
As organizacións poden crear un data lakehouse para unificar a súa actual plataforma de datos e optimizar todo o seu proceso de xestión de datos. Ao desmantelar as barreiras do silo que conectan varias fontes, un lago de datos pode substituír a necesidade de solucións distintas.
En comparación coas fontes de datos seleccionadas, esta integración produce un procedemento de extremo a extremo significativamente máis efectivo. Isto ten varias vantaxes:
- Menos administración: En lugar de extraer datos de datos en bruto e preparalos para o seu uso nun almacén de datos, un data lakehouse permite que as fontes vinculadas a el teñan os seus datos dispoñibles e organizados para o seu uso.
- Aumento da rendibilidade: as data lakehouses constrúense utilizando infraestruturas contemporáneas que dividen a computación e o almacenamento, polo que é sinxelo ampliar o almacenamento sen aumentar a potencia de cálculo. Só o uso de almacenamento de datos económico dá como resultado unha escalabilidade que é rendible.
- Mellor goberno de datos: as data lakehouses están construídas cunha arquitectura aberta estandarizada, o que permite un maior control sobre a seguridade, as métricas, o acceso baseado en funcións e outros compoñentes de xestión importantes. Ao unificar recursos e fontes de datos, simplifican e melloran o goberno.
- Normas simplificadas: Dado que a conexión estaba moi restrinxida na década de 1980, cando se desenvolveron por primeira vez os almacéns de datos, os estándares de esquemas localizados desenvolvéronse con frecuencia dentro das empresas, incluso nos departamentos. Os data lakehouses aproveitan o feito de que moitos tipos de datos teñen agora estándares abertos para o esquema ao inxerir numerosas fontes de datos co esquema uniforme superposto para axilizar os procedementos.
Desvantaxes de Data Lakehouse
A pesar de todo o alboroto que rodea as casas do lago de datos, é importante ter en conta que a idea aínda é moi nova. Asegúrate de sopesar as desvantaxes antes de comprometerte por completo con este novo deseño.
- Estrutura monolítica: O deseño todo incluído dunha casa de lago ofrece varias vantaxes, pero tamén xera algúns problemas. A arquitectura monolítica adoita levar a un servizo deficiente para todos os usuarios e pode ser ríxida e difícil de manter. Normalmente, aos arquitectos e deseñadores lles gusta unha arquitectura máis modular que poden personalizar para varios casos de uso.
- A tecnoloxía aínda non está aí: o obxectivo final implica unha cantidade importante de aprendizaxe automática e intelixencia artificial. Antes de que as casas do lago poidan funcionar como se prevía, estas tecnoloxías deben desenvolverse aínda máis.
- Non é un avance significativo sobre as estruturas existentes: Aínda hai un escepticismo considerable sobre canto máis valor aportarán realmente as casas do lago. Algúns detractores afirman que un deseño de almacén-lago combinado co equipo automatizado axeitado pode acadar unha eficiencia comparable.
Desafíos de Data Lakehouse
Podería ser difícil adoptar a técnica de data lakehouse. Debido á complexidade dos seus compoñentes, é incorrecto ver a data Lakehouse como unha estrutura ideal que abarca todo ou "unha plataforma para todo", por exemplo.
Ademais, debido á crecente adopción dos lagos de datos, as empresas terán que trasladar a eles os seus actuais almacéns de datos, confiando só nunha promesa de éxito sen beneficio económico demostrable.
Se hai algún problema de latencia ou interrupción durante o proceso de transferencia, isto pode resultar caro, lento e quizais inseguro.
Os usuarios empresariais deben adoptar tecnoloxías altamente especializadas, segundo determinados provedores que comercializan expresa ou implícitamente solucións como data lakehouses. É posible que non funcionen sempre con outras ferramentas vinculadas ao data lake no centro do sistema, o que engade problemas.
Ademais, pode ser difícil proporcionar análises 24/7 mentres se executan cargas de traballo críticas para a empresa, o que require unha infraestrutura cunha escalabilidade rendible.
Conclusión
A máis nova variedade de centros de datos dos últimos anos é o data lakehouse. Integra unha variedade de campos, como tecnoloxía da información, software de código aberto, computación en nube, e protocolos de almacenamento distribuído.
Permite ás empresas almacenar de forma centralizada todo tipo de datos desde calquera localización, simplificando a xestión e análise. Data Lakehouse é un concepto bastante intrigante.
Calquera empresa tería unha vantaxe competitiva significativa se tivese acceso a unha plataforma de datos todo en un que fose tan rápida e eficiente como un almacén de datos á vez que fose tan flexible como un lago de datos.
A idea aínda está en desenvolvemento e segue sendo relativamente nova. Como resultado, pode levar algún tempo determinar se algo se pode xeneralizar ou non.
Todos deberíamos ter curiosidade pola dirección que vai a arquitectura de Lakehouse.
Deixe unha resposta