ETL (Extract, Transform, Load)

Processus d'intégration qui extrait des données brutes de sources multiples, les convertit dans un format propre et structuré, puis les charge dans un entrepôt de données centralisé pour analyse.

Des projets open-source comme blockchain-etl de Google exportent les données Ethereum et Bitcoin vers Google BigQuery, permettant d'exécuter des requêtes SQL sur tout l'historique sans nœud d'archive.

        graph LR
  Center["ETL (Extract, Transform, Load)"]:::main
  Rel_indexing_search["indexing-search"]:::related -.-> Center
  click Rel_indexing_search "/terms/indexing-search"
  Rel_consensus_mechanism["consensus-mechanism"]:::related -.-> Center
  click Rel_consensus_mechanism "/terms/consensus-mechanism"
  Rel_edge_computing["edge-computing"]:::related -.-> Center
  click Rel_edge_computing "/terms/edge-computing"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 1

🧒 Explique-moi comme si j'avais 5 ans

Imagine que tu prépares un gâteau avec des ingrédients de différents magasins. Extract : aller à la ferme et au moulin chercher œufs et blé. Transform : casser les œufs et moudre le blé en farine dans ta cuisine. Load : verser la pâte dans le moule. En informatique, l'ETL prend des données brutes et désordonnées de différentes applis, les nettoie et les met dans une grande base de données bien rangée pour créer des rapports clairs.

🤓 Expert Deep Dive

Architecture ETL vs ELT : L'ETL traditionnel nécessite un serveur de transformation dédié et impose un schema-on-write. L'ELT charge d'abord les données brutes (schema-on-read), exploitant la puissance MPP (massively parallel processing) des entrepôts cloud pour les transformations via SQL (avec des outils comme dbt). Complexité ETL Blockchain : L'extraction doit gérer les réorganisations de chaîne (reorgs). La transformation nécessite le décodage ABI. Un log d'événement Ethereum contient 'topics' et 'data'. Le pipeline ETL doit mapper le hash Keccak-256 de la signature de l'événement et parser l'hexadécimal en types SQL standard.

❓ Questions fréquentes

What is the difference between ETL and ELT?

In ETL (Extract, Transform, Load), data is transformed in a separate processing engine before it is loaded into the data warehouse. In ELT (Extract, Load, Transform), raw data is loaded directly into the data warehouse, and transformations are performed inside the warehouse using its own computing power (e.g., using SQL in Snowflake or BigQuery).

Why is the Transform step necessary?

Raw data from different sources is often messy and incompatible. Dates might be in different formats, databases might use different ID schemes, and text might contain errors. Transformation cleans, standardizes, and joins this data so that it can be accurately analyzed.

How is Blockchain ETL different from traditional ETL?

Blockchain data is extracted from RPC nodes in a raw, unreadable hexadecimal format. The transformation step requires an ABI (Application Binary Interface) to decode these hex strings into readable function calls and event logs. Additionally, blockchain ETL must handle chain reorganizations (where recent blocks are rewritten).

📚 Sources