ETL (Extract, Transform, Load)
Proces integracji danych, który pobiera surowe dane z wielu źródeł, konwertuje je na czysty i ustrukturyzowany format i ładuje do scentralizowanej hurtowni danych w celu analizy.
Projekty open-source, takie jak blockchain-etl od Google, eksportują dane Ethereum i Bitcoina do Google BigQuery, umożliwiając zapytania SQL do całej historii blockchaina bez prowadzenia własnego węzła.
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;
🧠 Sprawdzenie wiedzy
🧒 Wyjaśnij jak 5-latkowi
Wyobraź sobie, że pieczesz ciasto ze składników z różnych sklepów. Extract: wyjazd na farmę i do młyna po jajka i pszenicę. Transform: rozbicie jajek i zmielenie pszenicy w twojej kuchni. Load: wlanie ciasta do formy. W IT, ETL pobiera bałaganiarskie dane z różnych aplikacji, czyści je i umieszcza w jednej, uporządkowanej bazie danych, aby menedżerowie mogli czytać przejrzyste raporty.
🤓 Expert Deep Dive
Architektura ETL vs ELT: Tradycyjny ETL wymaga dedykowanego serwera transformacji (schema-on-write). ELT najpierw ładuje surowe dane (schema-on-read), wykorzystując masowe przetwarzanie równoległe (MPP) chmury do transformacji SQL (np. z dbt). Złożoność Blockchain ETL: Ekstrakcja jest utrudniona przez reorganizacje łańcucha (reorgs). Transformacja wymaga dekodowania ABI. Log zdarzeń Ethereum zawiera 'topics' i 'data'. Pipeline ETL musi zmapować hash Keccak-256 sygnatury zdarzenia i przekształcić ciągi hex na standardowe typy SQL.
❓ Częste pytania
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).