14 points par xguru 2020-10-19 | 4 commentaires | Partager sur WhatsApp
  • Informations récentes et explications de termes sur l’infrastructure de données moderne, compilées à partir d’entretiens avec des spécialistes des données

  • Un PDF en 6 chapitres vraiment excellent pour comprendre l’ensemble du domaine des données

Schéma conceptuel d’une infrastructure de données unifiée en 1 chapitre

  1. Sources : génèrent les données métier et opérationnelles

→ OLTP DB via *CDC

→ Applications/ERP (Oracle, Salesforce, Netsuite) : toutes les données générées dans l’activité

→ Collecteurs d’événements (Segment, Snowplow) : collectent tous les événements des utilisateurs du service

→ Logs : journaux des serveurs web et de divers autres serveurs

→ API tierces (Stripe, etc.) : données générées par les paiements et autres API utilisées

→ Fichiers et stockage d’objets

  1. Ingestion and Transformation : aujourd’hui, on passe de l’ETL à l’ELT, Extract / Load / Transform

Extraction des données depuis les systèmes opérationnels (E) / transfert vers le stockage (L) / transformation des données pour l’analyse (T)

→ Connectors (Fivetran, Stitch, Matillion) : outils qui déplacent les données de plusieurs sources vers le DW

→ Data Modeling (dbt, LookML) : modélisation et transformation des données

→ Workflow Manager (Airflow, Dagster, Prefect) : orchestrateurs / planificateurs pour automatiser les flux de données

→ Spark Platform (Databricks, Amazon EMR) : plateformes de clustering haute performance pour le traitement distribué

→ Python Libs : bibliothèques d’analyse de données - Pandas, interface AWS - Boto, Dask pour le traitement parallèle à grande échelle, Ray pour le traitement distribué..

→ Batch Query Engine (Hive) : requêtes big data

→ Event Streaming (Confluent/Kafka, Pulsar, AWS Kinesis) : plateformes de messagerie/streaming en temps réel

→ Stream Processing (Databricks/Spark, Confluent/Kafka, Flink) : collecte, traitement et analyse des données de streaming

  1. Storage : stocke les données dans un format interrogeable et traitable. Optimisé pour le faible coût, la scalabilité et les travaux d’analyse.

→ Data Warehouse (Snowflake, BigQuery, Redshift) : dépôt unifié de données regroupant les informations analysables

→ Data Lake : contrairement au DW, stocke des données brutes structurées/non structurées non nettoyées

Databricks/Delta Lake (data lake permettant les transactions ACID sur Spark et S3/HDFS, etc.),

Apache Iceberg (format de table géante pouvant stocker des pétaoctets, développé par Netflix),

Apache Hudi (data lake efficace, développé par Uber), Hive Acid

→ Apache Parquet - format de stockage en colonnes

Apache ORC - Optimized Row Columnar, écrit par colonne tout en enregistrant aussi les index

Apache Avro - écriture par ligne, adapté à l’écriture, bien adapté à l’évolution de schéma

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

4&5. Historical & Predictive : fournissent des interfaces (requêtes) permettant aux analystes et aux data scientists de tirer des insights

Historical : explique ce qui s’est passé dans le passé. Inclut aussi le très récent (quasi temps réel)

Predictive : prévision de l’avenir, applications basées sur les données / 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 - analyse en temps réel, Altinity/Clickhouse - OLAP, Rockset - moteur d’analyse temps réel commercial (basé sur RocksDB, une base de données embarquée KV haute performance)

  1. Output : outils qui présentent les résultats de l’analyse des données en interne/externe. Intègrent les modèles de données créés dans les systèmes opérationnels et les applications

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

→ Embedded Analytics : Sisense, Looker, cube.js - intègrent les outils BI dans les systèmes internes. Basés sur des API. Permettent de créer des applications d’analyse internes

→ Augmented Analytics : Thoughtspot, Outlier, Anodot, Sisu - outils qui analysent automatiquement à l’aide de l’IA

→ App Frameworks : Plotly Dash, Streamlit - frameworks permettant de créer des applications ML

  1. Autres

→ 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 trois grands domaines principaux

→ BI moderne

→ Traitement de données multimodal

→ Domaine de l’IA et du ML

  • Change Data Capture : copie en temps réel les données modifiées d’un OLTP vers divers autres stockages (DB, DW)

4 commentaires

 
xguru 2020-12-08

J’ai réalisé une série de vidéos YouTube expliquant, une par une, chaque service et projet open source mentionnés ici.

Chaque épisode dure une dizaine de minutes, donc n’hésitez pas à vous y référer si vous souhaitez comprendre plus en détail le contenu ci-dessus.

Comprendre l’infrastructure de données moderne by GeekNews

 
inthelife 2020-10-21

Le lien vers la traduction était incorrect, haha ; veuillez vous référer au lien ci-dessous ^^;

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

 
xguru 2020-10-21

Waouh, merci. Moi aussi j’aime beaucoup ce document, donc j’essaie aussi de créer un support d’explication séparé (vidéo) pour le schéma principal.

 
inthelife 2020-10-21

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

Le contenu a l’air intéressant, donc j’ai essayé d’en faire une brève traduction de l’original ^^