ETL (추출, 변환, 적재, Extract, Transform, Load)

여러 출처에서 원시 데이터를 추출하여 깨끗하고 구조화된 형식으로 변환한 다음, 분석을 위해 중앙 집중식 데이터 웨어하우스에 적재하는 데이터 통합 프로세스.

Google의 'blockchain-etl'과 같은 오픈 소스 프로젝트는 이더리움 및 비트코인 데이터를 Google BigQuery로 내보내어, 아카이브 노드 없이도 블록체인 전체 기록에 대해 표준 SQL 쿼리를 실행할 수 있게 합니다.

        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;

      

🧠 지식 테스트

1 / 1

🧒 5살도 이해할 수 있게 설명

여러 상점에서 재료를 사서 케이크를 굽는다고 상상해 보세요. 추출(Extract)은 농장과 제분소에 가서 달걀과 밀을 가져오는 것입니다. 변환(Transform)은 부엌에서 달걀을 깨고 밀을 밀가루로 빻는 것입니다. 적재(Load)는 섞은 반죽을 팬에 붓는 것입니다. 소프트웨어에서 ETL은 다양한 앱에서 가져온 지저분한 원시 데이터를 정리하여 관리자가 명확한 보고서를 읽을 수 있도록 하나의 크고 체계적인 데이터베이스에 넣는 것입니다.

🤓 Expert Deep Dive

ETL vs ELT 아키텍처: 기존 ETL은 전용 변환 서버가 필요하며 schema-on-write를 강제합니다. ELT는 원시 데이터를 먼저 적재(schema-on-read)하고 클라우드의 대규모 병렬 처리(MPP) 능력을 활용해 SQL(dbt 등 사용)로 변환합니다. 블록체인 ETL의 복잡성: 추출은 체인 재구성(reorgs) 때문에 까다롭습니다. 변환에는 ABI 디코딩이 필수적입니다. 이더리움 이벤트 로그에는 'topics'와 'data'가 포함되며, ETL 파이프라인은 이벤트 서명의 Keccak-256 해시를 매핑하고 16진수 문자열을 표준 SQL 타입으로 파싱해야 합니다.

❓ 자주 묻는 질문

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).

📚 출처