Blockchain
인덱서 아키텍처 Deep Dive - ETL 파이프라인으로 이해하기
블록체인 인덱서란? **인덱서 아키텍처 Deep Dive** (현재 글) 이력 테이블 vs 스냅샷 테이블 Rust로 인덱서 SDK 만들기 Diesel ORM 실전 활용 멱등성 있는 인덱서 핸들러 설계
시리즈 목차
- 블록체인 인덱서란?
- 인덱서 아키텍처 Deep Dive (현재 글)
- 이력 테이블 vs 스냅샷 테이블
- Rust로 인덱서 SDK 만들기
- Diesel ORM 실전 활용
- 멱등성 있는 인덱서 핸들러 설계
인덱서는 ETL이다
- Extract: 체인 노드 스트림에서 데이터 수집
- Transform: 이벤트 디코딩 및 도메인 매핑
- Load: 배치 단위 DB 적재
1) Extract
대부분 gRPC 스트리밍을 사용합니다.
- 시작 버전 결정
- 재연결/백오프
- 백프레셔 관리
2) Transform
핵심은 "무엇을 버리고 무엇을 저장할지"입니다.
- 관심 이벤트 필터링
- 스키마 버전별 파서 분기
- 파싱 실패 격리(전체 파이프라인 중단 방지)
3) Load
성능은 배치 전략이 결정합니다.
- 청크 분할
- 트랜잭션 경계 관리
- 이력/스냅샷 동시 갱신
운영 체크리스트
- 마지막 처리 버전 추적
- 단계별 지연/실패율 메트릭
- 파싱 실패 payload 샘플 보관
- 복구 모드(range replay) 제공
결론
좋은 인덱서 아키텍처는 "빠른 처리"보다 "재처리 가능한 안정성"을 우선합니다.