Une nouvelle architecture pour l’infrastructure de données moderne
(future.a16z.com)-
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
- 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
- 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
- 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)
- 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
- Autres
→ Metadata Management (Collibra, Alation, Hive Metastore, DataHub, ...)
→ Quality and Testing (Great Expectations)
→ Entitlements and Security (Privacera, Immuta)
→ Observability (Unravel, Accel Data, Fiddler)
- 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
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
Le lien vers la traduction était incorrect, haha ; veuillez vous référer au lien ci-dessous ^^;
https://drive.google.com/file/d/…
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.
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 ^^