No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Consideraciones de ETL

3/25
Recursos

Aportes 12

Preguntas 1

Ordenar por:

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

Consideraciones de ETL

  1. Debo asegurar la calidad de los datos
  2. Tener claro las fuentes y los objetivos
  3. Definir si mi ETL sera en Batch (cada 20 min) o Streaming (en menos de 1 seg)
  4. Definir si mi ETL sera incremental o total
  5. La documentación

10/10 me gusta el curso

Definir si mi ETL sera en Batch (cada 20 min) o Streaming (en menos de 1 seg)

El término “batch” y “streaming” se refiere a la forma en que se manejan y procesan los datos durante las etapas de transformación y carga.

Proceso en Batch: Los datos se procesan en lotes o conjuntos predefinidos en intervalos regulares de tiempo. Esto implica que los datos se extraen de las fuentes, se transforman y se cargan en el destino en grupos o lotes completos.

Características clave del procesamiento en batch:

  • Los datos se procesan y transforman en función de un horario programado o en intervalos de tiempo específicos (p. ej., diariamente, cada hora, cada noche).
  • Los datos se almacenan y se procesan en memoria o en disco antes de aplicar las transformaciones y cargarlos en el destino.
  • Los datos se cargan en el destino una vez que se ha completado todo el procesamiento y transformación del lote actual.
  • Ejemplos: Analisis historicois de venta, Analisis Financieros

El procesamiento en batch es útil cuando se necesita procesar grandes volúmenes de datos, realizar transformaciones complejas que requieren el procesamiento conjunto de los datos o cuando los requisitos de tiempo real no son estrictos.

Proceso en Streaming:
En contraste con el procesamiento en batch, el procesamiento en streaming implica el procesamiento continuo y en tiempo real de los datos a medida que se generan o llegan. Los datos se procesan y se cargan de manera incremental y continua a medida que fluyen en el sistema.

  • Los datos se procesan y transforman a medida que se generan o llegan, generalmente en pequeñas unidades o eventos individuales.

  • Las transformaciones y los cálculos se aplican a los datos a medida que se reciben, lo que permite obtener resultados y actualizaciones en tiempo real.

  • Los datos se cargan o transmiten continuamente en el destino a medida que se procesan.

  • Ejemplos: Detección de fraudes en tiempo real, Análisis de redes sociales en tiempo real

    El procesamiento en streaming es útil cuando se requiere tomar decisiones o actuar de manera casi instantánea sobre los datos, como en aplicaciones de monitoreo en tiempo real, análisis de datos en tiempo real o detección de anomalías.

En argentina tenes que usar el Streaming para saber la cotizacion actualizada del dolar 🫠

Hasta ahora un curso genial 😄

CONSIDERACIONES DE ETL

  • Calidad de los datos: cual es el estado mas optimo o de mayor calidad dee los datos.
  • Tener en cuenta las fuentes y los objetivos: source y target
  • Definir si mi ETL será en Batch (tarea recurrente de acuerdo a un lapso de tiempo o un delta, ejemplo cada 20 min) o Streaming (real time o con menos de 1 segundo)
  • Definir si mi ETL será incremental o total: cada vez que se ejecute la etl voy a cargar desde cero todos los recursos transformarlos y cargarlos al punto de destino; incremental, es como se suele utilizar en bdds trasaccionales, ejemplo: cada hora voy a llevarme todos los datos que pasaron esa hora, cada que corra la etl solo va a procesar los datos nuevos.
  • Documentar / documentación

3. Consideraciones de ETL

  • Calidad de los datos
  • Sources & Target
  • Batch; procesamiento en lote - 20 min o Streaming; Menos de 1 seg
  • Incremental o total
  • Documentar
\### \*\*Consideraciones Clave en un Proceso ETL\*\* El éxito de un proyecto ETL (Extract, Transform, Load) depende de la planificación cuidadosa, la comprensión de las necesidades del negocio y la calidad de la ejecución. Aquí tienes las principales consideraciones al implementar un proceso ETL: \### \*\*1. Comprensión de los Requisitos\*\*- \*\*Objetivos del negocio:\*\* Define claramente qué se espera lograr con el proceso ETL (reportes, análisis, monitoreo, etc.).- \*\*Volumen de datos:\*\* Considera la cantidad de datos a procesar y su frecuencia (diaria, semanal, en tiempo real).- \*\*Fuente de datos:\*\* Identifica todas las fuentes de datos (bases de datos relacionales, APIs, archivos CSV, etc.) y su formato. \### \*\*2. Calidad de los Datos\*\*- \*\*Integridad de datos:\*\* Verifica que los datos de las fuentes sean completos y precisos.- \*\*Consistencia:\*\* Asegúrate de que los datos tengan un formato estándar (por ejemplo, fechas y monedas).- \*\*Manejo de datos erróneos:\*\* Implementa estrategias para tratar datos faltantes, duplicados o corruptos. \### \*\*3. Escalabilidad\*\*- \*\*Crecimiento futuro:\*\* Diseña el sistema para manejar un incremento en el volumen y variedad de datos.- \*\*Escalabilidad horizontal:\*\* Utiliza herramientas capaces de procesar datos en paralelo para mantener el rendimiento. \### \*\*4. Rendimiento\*\*- \*\*Tiempo de procesamiento:\*\* Minimiza el tiempo necesario para extraer, transformar y cargar datos, especialmente para procesos críticos.- \*\*Optimización de consultas:\*\* Utiliza índices y otras técnicas para acelerar las operaciones en bases de datos. \### \*\*5. Seguridad\*\*- \*\*Encriptación:\*\* Protege los datos sensibles durante la transferencia (en tránsito) y el almacenamiento (en reposo).- \*\*Control de acceso:\*\* Implementa políticas de seguridad para limitar quién puede acceder a los datos y realizar cambios.- \*\*Regulaciones:\*\* Cumple con normativas como GDPR, HIPAA o CCPA, según sea necesario. \### \*\*6. Mantenimiento\*\*- \*\*Monitoreo:\*\* Configura alertas para detectar fallos en tiempo real.- \*\*Registro de errores:\*\* Implementa un sistema de logging para rastrear problemas en el flujo de datos.- \*\*Actualizaciones:\*\* Asegúrate de que las herramientas ETL puedan actualizarse sin interrupciones significativas. \### \*\*7. Herramientas y Tecnología\*\*- \*\*Elección de herramientas:\*\* Decide entre herramientas comerciales (Informatica, Talend) o plataformas en la nube (AWS Glue, Google Dataflow).- \*\*Compatibilidad:\*\* Asegúrate de que la herramienta seleccionada pueda conectarse a todas las fuentes de datos necesarias. \### \*\*8. Transformaciones de Datos\*\*- \*\*Complejidad:\*\* Evalúa qué tan complejas son las transformaciones necesarias (filtros, agregaciones, cambios de formato).- \*\*Flexibilidad:\*\* Diseña transformaciones modulares y reutilizables.- \*\*Pruebas:\*\* Verifica que las transformaciones produzcan resultados correctos antes de cargarlas en el destino. \### \*\*9. Procesos de Carga\*\*- \*\*Tipo de carga:\*\* Define si será completa o incremental (solo datos nuevos o modificados).- \*\*Manejo de fallos:\*\* Implementa mecanismos para reiniciar cargas fallidas sin duplicar datos.- \*\*Orden de carga:\*\* Asegúrate de que las dependencias entre tablas se respeten. \### \*\*10. Documentación\*\*- \*\*Mapeo de datos:\*\* Documenta cómo se transforman los datos desde las fuentes hasta el destino.- \*\*Guías operativas:\*\* Proporciona instrucciones claras para administrar y solucionar problemas del flujo ETL.- \*\*Versionado:\*\* Registra cambios en el diseño del flujo para facilitar auditorías y mantenimiento. \### \*\*11. Consideraciones Adicionales\*\*- \*\*ETL vs. ELT:\*\* Evalúa si un enfoque ELT podría ser más adecuado para el caso de uso específico.- \*\*Costos:\*\* Considera los costos de licencias, infraestructura y mantenimiento de las herramientas ETL.- \*\*Pruebas:\*\* Realiza pruebas exhaustivas antes de implementar en producción. Al abordar cada una de estas áreas, puedes garantizar que el proceso ETL sea robusto, eficiente y alineado con las necesidades del negocio.
Super bueno el curso, hasta ahora estoy super satisfecho no me imagino la practica.
a que hace referencia el target
Algunas consideraciones sobre ETL son: * La calidad de los datos: a mayor calidad de los datos, más preguntas se podrán responder. * De dónde los extraigo (sources) y dónde los cargo (targets). * El tipo de procesamiento puede ser en tiempo real (real-time, streaming) o por lotes (batch). * La carga: no es lo mismo si cambian todos los datos o si solo se agregan o cambian algunos. Es una carga total si se parte de cero; de lo contrario, es una carga incremental. Por ejemplo, cada cierto tiempo, se cargan nuevos datos extraídos en un plazo determinado. Esto es común en algunas bases de transacciones. * La documentación: si quieres cambiar algo o realizar alguna mejora, tienes que saber qué hay detrás del ETL.
Todos los conceptos están bastante claros. Excelente curso.