Qué es un data lake
La extracción y almacenamiento de datos es algo crucial hoy en día en todos los sectores. Esta información almacenada puede usarse posteriormente para mejorar una aplicación, negocio o empresa.
Introducción a los lagos de datos o Data Lakes
Un data lake o lago de datos es un repositorio diseñado para almacenar todo tipo de datos sin ningún esquema predeterminado, es decir, podemos guardarlos en crudo sin preprocesarlos.
Estas tecnologías hacen uso del procedimiento ELT (Extract, Load and Transform) que hace referencia a la extracción de datos desde una fuente de origen y la carga en la fuente final que es el data lake. Posteriormente pueden filtrarse, agruparse o seleccionar aquellos que sean de interés.
Una de las ventajas de usar lagos de datos en vez de otras arquitecturas es la velocidad de ingestión de datos ya que no tienen que limpiarse antes de guardarlos. Además, tampoco perdemos información ya que se almacenan todos.
Qué es blockchain: tecnología de cadena de bloques
La tecnología blockchain se ha puesto muy de moda estos últimos años. ¿Sabes realmente cómo funciona? ¡Entra y descubre lo que esconde la cadena de bloques!
Ver artículoCaracterísticas de los lagos de datos
Entorno distribuido
Muchos data lakes aceptan el guardado de información de forma distribuida, aumentando la capacidad de ingestión de datos y haciendo que sean altamente escalables.
Obtención de datos en tiempo real
Al no tener un esquema predefinido, la obtención de datos es muy rápida permitiendo recuperar y procesar datos en tiempo real.
Soporta todo tipo de formatos
Los lagos de datos permiten formatos estructurados, semi-estructurados y no estructurados. Esta característica permite que puedan guardarse en él todo tipo de información sin importar su formato.
Capas en un data lake
Hemos visto que la información que se almacena en los lagos de datos son datos crudos o raw data. No obstante, pueden existir capas superiores donde estos datos son procesados para dar al cliente o al usuario la información que necesitan.
Seguidamente mostramos algunas de las capas típicas presentes en una arquitectura de data lake.
Otros posts que te gustarán
- Ingestion de los datos : Este paso es opcional y consiste en hacer algunas comprobaciones de la información antes de almacenarla en el lago de datos. Por ejemplo, se pueden añadir filtros o llevar a cabo procesos de encriptación para una mayor seguridad.
- Guardado : En esta parte los datos estructurados, semi-estructurados o no estructurados son almacenados sin ninguna transformación previa.
- Procesamiento : Una vez guardados puede existir la necesidad de crear una capa donde se procesen y transformen los datos para mostrarlos a ciertos usuarios. En este punto pueden realizarse procesos de data quality para asegurar la integridad, confiabilidad y relevancia de los datos ingestados.
Diferencias entre Data Lake y Data Warehouse
Los data warehouses solo permiten almacenar datos con una estructura previa. En cambio, los data lakes aceptan todo tipo de formatos: estructurados, semi-estructurados y no estructurados.
En los lagos de datos podemos encontrar frecuentemente imágenes, videos o textos los cuales no encontramos en los data warehouses.
Procesamiento de la información
Los data warehouses siguen un proceso que recibe el nombre de ETL (Extracción, Transformación y Carga). La transformación y limpieza de los datos se ejecuta antes del almacenamiento en el sistema de destino. Esto hace que el guardado sea más lento.
En cambio, los data lakes siguen ELT (Extracción, Carga y Transformación) donde los datos son limpiados y procesados después del guardado en el sistema de destino.
Velocidad de ingesta
La velocidad de ingesta es más alta en los procesos ELT, es decir, en los lagos de datos ya que no se pierde tiempo en procesar la información antes del almacenamiento.
En los data warehouses hay una transformación de la información antes del guardado para asegurarse la fiabilidad de estos y que cumpla con el esquema con el que ha sido diseñado el data warehouse.
Protección de los datos
Los data warehouses tienen un mejor sistema de protección de los datos ya que lleva más tiempo funcionando en el mercado.
Adaptación a los cambios
Los lagos de datos se adaptan más fácilmente a los cambios ya que un data warehouse, al tener una estructura predefinida, dificulta el proceso de adaptación a los requerimientos de los clientes. Los data lakes, al no tener una estructura predefinida, permite una mayor versatilidad y agilidad.
Fiabilidad de la información
Los Data Warehouses permiten obtener una información más detallada y más fiable ya que los datos han sido filtrados y limpiados previo al guardado.
En cambio, en un data lake, los datos están en crudo. Si alguien accede al lago de datos con poca experiencia puede recibir información de poca calidad y poco fiable.
Plataformas que usan los Data Lakes
Existen algunas plataformas que permiten usar este tipo de arquitectura para almacenar toddo tipo de datos. Las más famosas son AWS (Amazon Web Server), Azure, Google Cloud y Cloudera.
Todos ellos tienen mucha experiencia con la implementación de tecnologías Big Data y Machine Learning con lo que te ayudaran en todo momento en la implementación de los lagos de datos.
Aprende a usar servicios cloud de Data Lakes
Existen cursos en plataformas de aprendizaje como Udemy para aprender a manejar data lakes y data warehouses y convertirse en ingeniero big data:
- Data Lake in AWS
- Azure Data Factory for Data Engineers
- Azure Data Lake Storage Gen2