Conceptos base de ETL

2/25
Recursos
Transcripción

Aportes 13

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Diferencia entre Data Lake vs Data Lakehouse

Data Lake:

  • Almacena grandes cantidades de datos sin procesar y en bruto
  • No tiene una estructura predefinida o una organización específica de datos.
  • Se enfoca en almacenar grandes cantidades de datos en bruto para su posterior procesamiento y análisis.

Data Lakehouse:

  • Combina la escalabilidad de un Data Lake con la estructura y organización de un Data Warehouse.
  • Organiza los datos en tablas y columnas como un Data Warehouse, pero se almacena en un entorno escalable y abierto como un Data Lake.
  • Se enfoca en proporcionar acceso y análisis en tiempo real a los datos, y en la implementación de prácticas de gobernanza de datos y aseguramiento de calidad.

Star schema

.
Un star schema es un tipo de técnica de modelado de datos utilizada en los data warehouses para representar datos de una manera estructurada e intuitiva. Los datos se organizan en una fact table central que contiene las medidas de interés, rodeadas de dimension tables que describen los atributos de las medidas. Las dimension tables permiten a los usuarios analizar los datos desde diferentes perspectivas. Cada dimension table se une a la fact table a través de una relación de foreign key. Esto permite a los usuarios consultar los datos en la fact table utilizando atributos de las dimension tables.
.
El star schema es una técnica popular de modelado de datos en el data warehouse porque es fácil de entender y consultar. La estructura simple del star schema permite tiempos de respuesta de consulta rápidos y un uso eficiente de los recursos de la base de datos. Además, el star schema se puede ampliar fácilmente agregando nuevas dimension tables o medidas a la fact table, lo que la convierte en una solución escalable y flexible para el almacenamiento de datos (data warehousing).

Conceptos

Source (fuente): de dónde voy a sacar los datos, estructuradas, no estructuradas, APIs, CRM.

Target (Objetivo): donde voy a cargar el proceso de ETL, por lo general base de datos unificada columnar (snowflake, redshift, big query) o transaccionales (Oracle, postgreSQL, mysql).

Staging: área de paso (suele ser en memoria), dónde se van a hacer transformaciones. Se pueden guardar en bases de datos para luego retomar la transformación y proceder al load.

Data Warehouse: bodega de datos, almacenar datos de una manera definida.

Star model: una manera de cargar todas las fuentes y estructuras al Data Warehouse. una tabla con solo métricas importante, y tablas alrededor llamadas dimensiones (se conectan con las metrices usualmente con Foreign key).

Data Lake: repositorio dónde se manda información, formato nativo o raw de los datos (datos sin modificaciones, cómo los genera el origen). Se guarda en disco duro.

Data Lakehouse = Data Warehouse + Data Lake: se guarda de manera raw de los datos, pero se tiene una capa de consulta (sql, spark) para realizar analítica sin mover los datos. Se una con el proceso ELT.

Aqui otro video en donde se ven estos conceptos 😁 Cómo funciona la ingeniería de datos

“El modelo estrella se compone de una tabla central llamada tabla de hechos, que contiene información cuantitativa y numérica (como ventas, ingresos, cantidad de productos vendidos, etc.) y varias tablas dimensionales que contienen información descriptiva y contextual (como fecha, hora, ubicación, productos, clientes, etc.).”

Un data warehouse es la tecnología de almacenamiento de big data más antigua con una larga historia en aplicaciones de business intelligence, informes y análisis. Sin embargo, los date warehouses son costosos y tienen problemas con los datos no estructurados, como los datos en streaming y la variedad de datos.
.
Los data lakes surgieron para manejar datos sin procesar en varios formatos en almacenamiento económico para workloads de ciencia de datos y machine learning. Aunque los data lakes funcionan bien con datos no estructurados, carecen de las funciones transaccionales ACID (atomicity, consistency, isolation, and durability) de los data warehouses, lo que dificulta garantizar la coherencia y la confiabilidad de los datos.
.
El data lakehouse es la arquitectura de almacenamiento de datos más nueva que combina la rentabilidad y la flexibilidad de los data lakes con la confiabilidad y consistencia de los data warehouses.
.

.
Fuente: https://www.striim.com/blog/data-warehouse-vs-data-lake-vs-data-lakehouse-an-overview/

2. Conceptos base de ETL

  • Source: de donde voy a extraer los datos.
  • Target: donde voy a cargar todo mi proceso de ETL, usualmente es una base de datos Columnar o transaccional.
  • Staging: área de paso en memoria donde se hacen las transformaciones para luego cargarlas. Se puede hacer guardados parciales en bases de datos.
  • Data Warehouse: bodega de datos. Almacenamos datos con una estructura definida de múltiples fuentes.
  • Star Model: tipo de modelo para cargar los datos.
  • Data Lake: Casi siempre es un filesystem. Repositorio donde podemos enviar archivos raw como vienen de la fuente.
  • Data Lakehouse: Lake + Warehouse
ETL es, básicamente, el proceso de extraer datos de las sources (de donde se extraen los datos, fuentes), unificarlos de manera coherente (entendido como una transformación) y cargarlos en los targets (donde cargo los datos, objetivos) en un Data Warehouse. Mientras que ELT implica cargarlos antes de transformarlos, ahora no en un Data Warehouse (estructura definida), sino en un Data Lake con una estructura raw (sin transformar, cruda), o en un Data Lakehouse, que es un Data Lake pero con una abstracción para realizar análisis sin mover los datos.

Hola! Para todos los que quieran aprender de ELT, les recomiendo aprender dbt, data warehousing, loaders EL y data analytics, con esto hay muchas opciones de plan carrera hoy en dia.

Soy Analytics Engineer y construi mi carrera con este enfoque sobre el enfoque mas tradicional de ETL que es practicamente obsoleto hoy en dia.

Saludos! Feliz de poder asesar a quien necesite, pues muchas veces los cursos de data son muy “atrasados” con relacion a como trabajan las startups o empresas mas modernas.

ETL: Se extraen los datos y la transformación de estos se hace antes de la carga a la base de datos.
ELT: El proceso extrae y almacena los datos en BD sin transformación previa, esta se realiza recién en el últimos paso

El staging me recordo el proceso de Git y github, donde esta en espera antes de ser mandado a producción.

Source: lugar de donde voy a extraer los datos. La fuente. Ej: bases de datos, archivos.

Target: el objetivo, lugar donde voy a cargar el resultado de la ETL. Casi siempre es una base de datos, pero realmente es cualquier repositorio de información donde van a reposar los datos extraidos.

Staging: un área en memoria, lugar donde se harán las transformaciones. Casi siempre suele ser un espacio en memoria.

Data warehouse: bodega de datos. Almacenamos datos con una estructura definida.

* Star Model: modelo de estrella. Una tabla donde estarán 	
solo métricas, y tablas a las que llamamos dimensiones 					
que giran en torno a las métricas.

Data lake: almacenamos datos, es un filesystem, admite datos sin modificaciones, sin una estructura definida, guarda los datos con su estructura original sin haber pasado aún por un proceso de limpieza.

Data Lakehouse: es una combinación de los dos anteriores, los archivos están guardados de manera cruda en un filesystem, pero contiene una capa que me permite consultar estos datos.

ELT: Extracción, carga y transformación.
ETL: Extracción, transformación y carga.