¿En qué consiste un data lake?

El universo digital duplica su tamaño todos los años y se espera que alcance los 44 billones de gigas para 2020. Hasta el 90 % de los datos no están estructurados o están semiestructurados, lo que supone un doble reto: encontrar una forma de almacenar todos esos datos pero conservando la capacidad de procesarlos rápidamente. En ese punto es donde un data lake puede ayudar.

¿En qué consiste un data lake?

Un data lake es un repositorio de almacenamiento centralizado que contiene big data de varias fuentes en un formato granular y sin procesar. Puede guardar datos estructurados, semiestructurados o no estructurados, lo que significa que los datos pueden conservarse en un formato más flexible para usarlos en un futuro. Al guardar datos, un data lake los asocia con identificadores y etiquetas de metadatos para poder extraerlos más rápidamente.

El término "data lake" fue acuñado por James Dixon, director tecnológico de Pentaho, y hace referencia a la naturaleza particular de los datos de un data lake, a diferencia de los datos limpios y procesados guardados en los sistemas tradicionales de almacenes de datos.

Los data lakes suelen estar configurados sobre un clúster de hardware de consumo económico y escalable. Esto permite volcar los datos al data lake por si se necesitan más adelante sin tener que preocuparse por la capacidad de almacenamiento. Los clústeres pueden existir localmente o en la cloud.

Download Data Lakes: Purposes, Practices, Patterns, and Platforms now.
Download Now

La gente confunde fácilmente data lakes con almacenes de datos, pero cada uno presenta diferencias claras que reportan grandes ventajas a las organizaciones que los emplean adecuadamente, en especial cuando  big data y sus procesos siguen migrando de entornos locales a cloud.

.

diagrama de un data lake

.

Ventajas de un data lake

Un data lake funciona a partir de un principio llamado schema-on-read o esquema contra escritura. Esto significa que no existe un esquema predefinido en el que deban encajarse los datos antes de almacenarlos. Tan solo cuando los datos se leen durante el tratamiento se analizan y adaptan en un esquema según convenga. Esta característica ahorra mucho tiempo que normalmente se dedica a la definición del esquema. Esto también permite almacenar datos tal y como estén, en cualquier formato.

Los científicos de datos pueden acceder, preparar y analizar datos más rápidamente y con mayor precisión gracias a los data lakes. Para los expertos en analítica, este amplio conjunto de datos (disponibles en distintos formatos no tradicionales) ofrece una oportunidad de acceso a los datos para una amplia gama de casuísticas, como análisis de sentimiento o detección de fraude.

Watch Architecting Your Customer 360 Data Lake for Today and Tomorrow now.
Watch Now

Data lakes frente a almacenes de datos

Un data lake y un almacén de datos son semejantes en su finalidad y objetivo fundamentales, motivo por el que se confunden fácilmente:

  • Ambos son repositorios de almacenamiento que consolidan los distintos depósitos de datos de una organización.
  • El objetivo de ambos es crear un depósito de datos único que alimente distintas aplicaciones.

No obstante, existen diferencias básicas entre los dos que los convierte en idóneos según en qué situación.

  • Schema-on-read o schema-on-write: el esquema de un almacén de datos está definido y estructurado antes del almacenamiento (se aplica el esquema mientras se escriben los datos). Por contra, un data lake no tiene ningún esquema predefinido, lo que le permite guardar datos en su formato nativo. Por consiguiente, en un almacén de datos la mayoría de la preparación de los datos suele ocurrir antes de ser procesados. En un data lake, se produce más adelante, cuando los datos se utilicen realmente.
    .
  • Accesibilidad de usuario compleja o simple: como los datos no están organizados en un formato simplificado antes del almacenamiento, un data lake suele requerir un experto que comprenda perfectamente los distintos tipos de datos y sus relaciones para poder leerlos.

    Por contra, un almacén de datos es fácilmente accesible tanto para usuarios tecnológicos como inexpertos, debido a su esquema bien definido y documentado. Incluso un nuevo miembro de un equipo puede empezar a utilizar un almacén en muy poco tiempo.
    .
  • Flexibilidad o rigidez: con un almacén de datos no solo se tarda tiempo en definir el esquema en un primer momento, sino que también consume considerables recursos modificarlo cuando los requisitos cambian en un futuro. Sin embargo, los data lakes pueden adaptarse fácilmente a los cambios. Además, a medida que la necesidad de capacidad de almacenamiento aumenta, más fácil resulta escalar los servidores de un clúster de data lakes.

Para ahondar en estas diferencias y ayudarle a decidir qué opción es la mejor para su organización, consulte "Data lakes frente a almacenes de datos". →

¿Data lakes en cloud o locales?

Los data lakes se suelen implantar localmente, con el almacenamiento en HDFS y el procesamiento (YARN) en clústeres de Hadoop. Hadoop es escalable, económica y ofrece un buen rendimiento con su ventaja inherente de la localidad de los datos (los datos y la computación residen en el mismo lugar).

Ahora bien, existen dificultades en la creación de infraestructuras locales:

  • El espacio: los servidores voluminosos ocupan un espacio físico que acarrea precios más altos.
  • La configuración: la adquisición de hardware y la configuración de centros de datos no es sencilla y puede tardar semanas o meses hasta ponerlos en funcionamiento.
  • La escalabilidad: si existe la necesidad de ampliar la escala de capacidad de almacenamiento, se requiere tiempo y esfuerzo, debido al requisito de mayor espacio y las aprobaciones de costes de altos directivos.
  • El cálculo de requisitos: dado que la escalabilidad no es sencilla en entornos locales, al principio del proyecto resulta importante calcular los requisitos de hardware correctamente. Como los datos crecen de manera no sistemática todos los días, este objetivo es muy difícil de lograr.
  • El coste: los cálculos de los costes han demostrado ser más elevados en entornos locales que sus alternativas cloud.

Los data lakes en cloud, por otro lado, contribuyen a superar estas dificultades. Un data lake en cloud es:

  • Más fácil y rápido de iniciar. En lugar de un enfoque explosivo, la cloud permite a los usuarios empezar paulatinamente.
  • Rentable con un modelo de pago por uso.
  • Más fácil de escalar al alza cuando las necesidades aumenten, lo que elimina la tensión de tener que calcular requisitos y obtener autorizaciones.

Los ahorros en cuanto a espacio físico también se cuentan entre las ventajas económicas.

Vea cómo mejoró BeachBody la escalabilidad tanto de su arquitectura de datos como de su plantilla con un data lake en cloud:

Los retos de los data lakes en cloud

Es evidente que el uso de un data lake en cloud no está exento de dificultades. Algunas organizaciones prefieren no almacenar información confidencial y delicada en la cloud por posibles riesgos de seguridad. Mientras gran parte de los proveedores de data lakes en cloud avalan la seguridad y con el paso de los años han ido aumentando sus capas de protección, la insistente incertidumbre en lo que respecta al robo de datos persiste.

Otro reto de orden práctico es que algunas organizaciones ya tienen instalado un sistema de almacenamiento de datos para guardar sus datos estructurados. Pueden elegir migrar todos esos datos a la cloud o plantearse una solución híbrida con un motor de computación compartido que acceda a los datos estructurados del almacén y a los datos no estructurados en cloud.

La gobernanza de datos es otro frente problemático. Un data lake, por mucho que contenga datos, no debería convertirse en un pantano por el que cueste vadear. La plataforma de Talend garantiza que sus data lakes se mantengan limpios y accesibles.

Arquitectura de un data lake: Hadoop, AWS y Azure

Es importante recordar que un data lake tiene dos componentes: almacenamiento y computación. Tanto el almacenamiento como la computación pueden ubicarse localmente o en la cloud. Esto genera distintas combinaciones posibles al diseñar la arquitectura de un data lake.

Las organizaciones pueden decidir quedarse íntegramente en el entorno local, trasladar toda la arquitectura a la cloud, plantearse múltiples clouds o incluso un híbrido entre estas opciones.

No hay panaceas en este campo. Según cuales sean las necesidades de una organización, habrá varias opciones correctas.

Data lakes en Hadoop

Hadoop es la opción que se asocia mayormente con los data lakes, por defecto.

Un clúster de Hadoop de servidores distribuidos resuelve las dudas sobre el almacenamiento de big data. En el núcleo de Hadoop encontramos su capa de almacenamiento, el HDFS (Sistema de archivos distribuidos de Hadoop), que almacena y replica los datos por múltiples servidores. YARN (Otro negociador de recursos más) es el gestor de recursos que decide cómo programarlos en cada nódulo. MapReduce es el modelo de programación que utiliza Hadoop para dividir los datos en subconjuntos más pequeños y procesarlos en sus clústeres de servidores.

Más allá de estos tres componentes básicos, el ecosistema Hadoop engloba varias herramientas suplementarias, como Hive, Pig, Flume, Sqoop y Kafka que ayudan con la ingesta, la preparación y la extracción de datos. Los data lakes de Hadoop pueden configurarse localmente o en la cloud mediante plataformas de empresa como Cloudera o HortonWorks. Otros data lakes cloud, como Azure, envuelven sus funcionalidades alrededor de la arquitectura Hadoop.

Puntos fuertes:

  • Mayor familiaridad entre los tecnólogos
  • Más económicos, porque son de código abierto
  • Muchas herramientas ETL disponibles para la integración con Hadoop
  • Fáciles de escalar
  • La localidad de los datos permite una computación más rápida

Download Hadoop and Data Lakes now.
Download Now

Data lakes en AWS

AWS tiene un paquete exhaustivo de ofertas de producto para su solución de data lake.

Amazon Simple Storage Service (Amazon S3) se sitúa en el centro de la solución que proporciona la función de almacenamiento. Kinesis Streams, Kinesis Firehose, Snowball y Direct Connect son herramientas de ingesta de datos que permiten a los usuarios transferir cantidades ingentes de datos a S3. También existe un servicio de migración de bases de datos que contribuye a migrar datos locales existentes a cloud.

Además de S3, existe DynamoDB, una base de datos No-SQL de baja latencia, y Elastic Search, un servicio que ofrece un mecanismo simplificado para realizar consultas en el data lake. Los Cognito User Pools definen la autenticación de usuarios y el acceso al data lake. Los servicios como Security Token Service, Key Management Service, CloudWatch y CloudTrail garantizan la seguridad de los datos. Para el procesamiento y la analítica existen herramientas como RedShift, QuickSight, EMR y el machine learning.

La enorme lista de ofertas de producto disponibles en AWS entraña una curva de aprendizaje inicial muy empinada. No obstante, las completas funciones de esta solución tienen un uso muy extendido en las aplicaciones de business intelligence.

Puntos fuertes:

  • Paquete de productos exhaustivo y repleto de prestaciones
  • Flexibilidad a la hora de elegir productos a partir de requisitos particulares
  • Precios bajos
  • Nivel de seguridad y conformidad alto
  • Separación de computación y almacenamiento para poder ajustar su escala según convenga
  • Colaboración con empresas de APN (AWS Partner Network), como Talend, que garantiza una etapa inicial de funcionamiento con AWS exenta de problemas

Watch Architecting an Open Data Lake for the Enterprise now.
Watch Now

Data lakes en Azure

Azure es un data lake de Microsoft. Tiene una capa de almacenamiento y de analítica. La capa de almacenamiento se denomina Azure Data Lake Store (ADLS) y la analítica contiene dos componentes: Azure Data Lake Analytics y HDInsight.

ADLS está creada siguiendo la norma HDFS y tiene una capacidad de almacenamiento ilimitada. Es capaz de almacenar billones de archivos en un único archivo de más de un petabyte. ADLS permite guardar datos en cualquier formato y es seguro y escalable. Es compatible con cualquier aplicación que utilice la norma HDFS. De esta forma la migración de datos existentes es mucho más sencilla y también facilita la conexión plug-and-play con otros motores de computación.

HDInsight es un servicio analítico de data lakes en cloud. Creado sobre Hadoop YARN, permite acceder a los datos mediante herramientas como Spark, Hive, Kafka y Storm. Es compatible con la seguridad de nivel empresarial debido a su integración con Azure Active Directory.

Azure Data Lake Analytics es otro servicio analítico, pero su enfoque es distinto. En lugar de emplear herramientas como Hive, utiliza un lenguaje llamado U-SQL, que es una combinación de SQL y C#, para acceder a los datos. Es idóneo para procesamientos de big data por lotes, dado que ofrece mayor velocidad a menor coste (tan solo se paga por las tareas que se utilicen).

Puntos fuertes:

  • Tanto el almacenamiento como la computación en cloud facilitan su manejo.
  • Servicios analíticos robustos con funcionalidades potentes.
  • Fácil de migrar desde un clúster Hadoop existente
  • Muchos expertos en big data conocen Hadoop y sus herramientas, de modo que resulta fácil encontrar trabajadores cualificados.
  • La integración con Active Directory garantiza que no son necesarios esfuerzos adicionales para gestionar la seguridad

Más recursos de data lakes

Para obtener más información sobre el funcionamiento de los data lakes o saber cómo empezar, eche un vistazo a algunos de estos recursos:

.

Guía de inicio de los data lakes

Los data lakes, con su capacidad de gestionar la velocidad y la variedad, dan muchas alegrías a los usuarios de business intelligence. Ahora existe la oportunidad de combinar datos procesados con datos subjetivos disponibles de Internet.

Es posible filtrar datos de equipos, como radiografías o resonancias magnéticas, para determinar patrones causales de las enfermedades. En aplicaciones del Internet de las cosas se pueden procesar grandes cantidades de datos de sensores a velocidades increíbles. El comercio minorista es capaz de ofrecer una experiencia omnicanal gracias a un gran cúmulo de datos extraídos sobre el usuario.

Los data lakes no solo son útiles en aplicaciones analíticas predictivas avanzadas, sino también en informes periódicos de organizaciones, en especial cuando entrañan distintos formatos de datos.

Ya no cuestión de decidir si es necesario un data lake, sino de qué tipo de solución desea utilizar y cómo implantarla. Descargue Talend Big Data Integration para empezar hoy mismo.

| Last Updated: enero 30th, 2019