ETL (Extract, Transform, Load)
Um processo de integração que extrai dados brutos de múltiplas fontes, converte-os para um formato limpo e estruturado, e os carrega em um data warehouse centralizado para análise.
Projetos open-source como o blockchain-etl do Google exportam dados do Ethereum e Bitcoin para o Google BigQuery, permitindo consultas SQL em todo o histórico da blockchain.
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;
🧠 Teste de conhecimento
🧒 Explique como se eu tivesse 5 anos
Imagine que você faz um bolo com ingredientes de lojas diferentes. Extract: ir à fazenda e ao moinho buscar ovos e trigo. Transform: quebrar os ovos e moer o trigo na sua cozinha. Load: colocar a massa na forma. Na computação, o ETL pega dados bagunçados de diferentes aplicativos, limpa-os e os coloca num banco de dados organizado para que gerentes possam ler relatórios claros.
🤓 Expert Deep Dive
Arquitetura ETL vs ELT: O ETL tradicional requer um servidor de transformação dedicado (schema-on-write). O ELT carrega primeiro os dados brutos (schema-on-read), aproveitando o processamento massivo paralelo (MPP) da nuvem para transformações via SQL (ex: com dbt). Complexidade do Blockchain ETL: A extração é dificultada por reorganizações de cadeia (reorgs). A transformação exige decodificação ABI. Um log de evento Ethereum contém 'topics' e 'data'. O pipeline ETL deve mapear o hash Keccak-256 da assinatura do evento e analisar o hexadecimal para tipos SQL padrão.
❓ Perguntas frequentes
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).