14 puntos por xguru 2020-10-19 | 4 comentarios | Compartir por WhatsApp
  • Información y explicación de términos sobre infraestructura de datos moderna, recopiladas a partir de entrevistas con especialistas en datos

  • Un PDF de 6 páginas realmente muy bueno para entender el panorama general del campo de datos

Diagrama conceptual de una infraestructura de datos unificada en 1 página

  1. Sources : generan datos de negocio y operativos

→ OLTP DB via *CDC

→ Applications/ERP (Oracle, Salesforce, Netsuite) : todos los datos que se generan en el negocio

→ Recolectores de eventos (Segment, Snowplow) : recopilan todos los eventos de los usuarios del servicio

→ Logs : logs de servidores web y de distintos tipos de servidores

→ API de terceros (como Stripe) : datos generados en pagos y otras API en uso

→ Archivos y almacenamiento de objetos

  1. Ingestion and Transformation : hoy en día se está pasando de ETL a ELT, Extract / Load / Transform

Extraer datos del sistema operativo (E) / moverlos al repositorio (L) / transformar los datos para análisis (T)

→ Connector (Fivetran, Stitch, Matillion) : herramientas para mover datos desde múltiples fuentes hacia el DW

→ Data Modeling (dbt, LookML) : modelado y transformación de datos

→ Workflow Manager (Airflow, Dagster, Prefect) : orquestadores / planificadores para automatizar el flujo de datos

→ Spark Platform (Databricks, Amazon EMR) : plataforma de clustering de alto rendimiento para procesamiento distribuido

→ Python Libs : librerías de análisis de datos - Pandas, interfaz con AWS - Boto, Dask para procesamiento paralelo a gran escala, Ray para procesamiento distribuido..

→ Batch Query Engine (Hive) : consultas de big data

→ Event Streaming (Confluent/Kafka, Pulsar, AWS Kinesis) : plataforma de mensajería/streaming en tiempo real

→ Stream Processing (Databricks/Spark, Confluent/Kafka, Flink) : recopila/procesa y analiza datos en streaming

  1. Storage : almacena datos en una forma que permite consultas y procesamiento. Optimizado para bajo costo, escalabilidad y tareas analíticas.

→ Data Warehouse (Snowflake, BigQuery, Redshift) : repositorio integrado de datos que reúne información apta para análisis

→ Data Lake : a diferencia del DW, almacena datos brutos estructurados/no estructurados sin depurar

Databricks/Delta Lake (un data lake que permite transacciones ACID sobre Spark y S3/HDFS, etc.),

Apache Iceberg (formato de tabla de escala masiva que almacena petabytes, desarrollado por Netflix),

Apache Hudi (data lake eficiente, desarrollado por Uber), Hive Acid

→ Apache Parquet - formato de almacenamiento columnar

Apache ORC - Optimized Row Columnar, escribe por columnas y registra también índices

Apache Avro - escritura por filas, adecuado para escritura y para evolución de esquemas

→ AWS S3 (Simple Storage Service), GCS (Google Cloud Storage), ABS (Azure Blob Storage), HDFS (Hadoop Distributed File System)

4&5. Historical & Predictive : proporcionan interfaces (consultas) para que analistas y científicos de datos obtengan insights

Historical : explica qué ocurrió en el pasado. Incluye lo muy reciente (casi en tiempo real)

Predictive : predicción del futuro, aplicaciones basadas en datos/ML

→ Data Science Platform (Databricks, Domino, Sagemaker, Dataiku, DataRobot, Anaconda, ...)

→ Data Science and ML Libraries ((Pandas, Numpy, R, Dask, Ray, Spark, Scikit-learn, Pytorch, TensorFlow, Spark ML, XGBoost, )

→ Ad Hoc Query Engine (Presto, Dremio/Drill, Impala)

→ Real-time Analytics : Imply/Druid - análisis en tiempo real, Altinity/Clickhouse - OLAP, Rockset - motor comercial de análisis en tiempo real (basado en RocksDB, una DB embebida KV de alto rendimiento)

  1. Output : herramientas para mostrar interna/externamente los resultados del análisis de datos. Integran los modelos de datos creados en sistemas operativos y aplicaciones

→ Dashboards : Looker, Apache Superset, Mode, Tableau - herramientas de Business Intelligence

→ Embedded Analytics : Sisense, Looker, cube.js - integran herramientas de BI en sistemas internos. Basadas en API. Permiten crear apps internas de análisis

→ Augmented Analytics : Thoughtspot, Outlier, Anodot, Sisu - herramientas que analizan automáticamente usando AI

→ App Frameworks : Plotly Dash, Streamlit - frameworks que permiten crear aplicaciones de ML

  1. Otros

→ Metadata Management (Collibra, Alation, Hive Metastore, DataHub, ...)

→ Quality and Testing (Great Expectations)

→ Entitlements and Security (Privacera, Immuta)

→ Observability (Unravel, Accel Data, Fiddler)

  1. Blueprint de tres áreas principales

→ BI moderna

→ Procesamiento de datos multimodal

→ Área de AI y ML

  • Change Data Capture : copia en tiempo real los datos modificados de OLTP a varios otros repositorios (DB, DW)

4 comentarios

 
xguru 2020-12-08

Grabé un video en YouTube explicando uno por uno cada servicio y proyecto open source mencionados aquí.

Está dividido en episodios de unos 10 minutos cada uno, así que si quieren conocer el contenido de arriba con más detalle, pueden tomarlo como referencia.

Entendiendo la infraestructura de datos moderna by GeekNews

 
inthelife 2020-10-21

El enlace de la traducción estaba incorrecto jaja; por favor consulta el enlace de abajo ^^;

https://drive.google.com/file/d/…

 
xguru 2020-10-21

Guau, muchas gracias. A mí también me gusta muchísimo este material, así que estoy intentando hacer un material explicativo aparte (video) del diagrama principal.

 
inthelife 2020-10-21

https://drive.google.com/file/d/…

El contenido se ve bueno, así que hice una traducción breve del original ^^