Skip to main content

개요

ChainStream GraphQL의 모든 Chain Group은 어떤 기본 테이블을 조회할지 제어하는 선택 파라미터 두 개를 받습니다. 사용 사례에 따라 신선도, 쿼리 속도, 데이터 완전성을 맞출 수 있습니다.

Dataset 파라미터

dataset 파라미터는 조회 데이터의 시간 범위를 제어합니다. 실시간 테이블, 아카이브 테이블, 또는 둘 다를 칠지 결정합니다.

사용법

역사 데이터 백필

데이터 파이프라인을 만들거나 다운타임 복구 시 dataset: archive와 시간 범위 필터로 역사 데이터를 백필할 수 있습니다.
  1. 마지막으로 처리한 타임스탬프 또는 블록 높이를 기록합니다.
  2. 마지막 체크포인트부터 현재까지 where 필터와 함께 dataset: archive로 쿼리합니다.
  3. 백필된 데이터를 처리합니다.
  4. 지속 모니터링에는 dataset: realtime으로 전환합니다.

Dataset 미지원 테이블

일부 Cube는 dataset 값과 관계없이 항상 같은 테이블을 조회합니다. 예:
  • DWS Cube: TokenHolders, WalletTokenPnL, DEXPools — 현재 상태 스냅샷
  • 특수 테이블: TransactionBalances, PredictionTrades, PredictionManagements, PredictionSettlements
이 Cube들에서는 dataset이 조용히 무시됩니다.

Aggregates 파라미터

aggregates 파라미터는 원시 상세 테이블(DWD) 대신 사전 집계 materialized view(DWM 레이어)를 쓸지 결정합니다. 사전 집계 테이블에는 보통 분 단위로 미리 계산된 rollup이 들어 있어 훨씬 빠르게 조회할 수 있습니다.

사용법

모드별 선택 가이드


두 파라미터 함께 쓰기

datasetaggregates를 동시에 사용할 수 있습니다.
이 쿼리는 실시간 데이터와 사전 집계 테이블을 함께 사용해, 최근 약 60분간의 크로스체인 토큰 거래 통계를 최대한 빠르게 가져옵니다.

성능 고려 사항

대시보드에는 realtime

dataset: realtime은 더 작은 테이블 파티션을 조회해 모니터링 용도에서 응답이 빨라집니다.

분석에는 aggregates

aggregates: yes 또는 only는 원시 이벤트 테이블 풀스캔보다 수 배 빠른 사전 계산 rollup을 사용합니다.
OHLC나 거래량 쿼리를 최대한 빠르게 하려면 dataset: realtimeaggregates: only를 함께 쓰세요. 가장 작고 최적화된 데이터 슬라이스를 겨냥합니다.

관련 문서

스키마 개요

dataset과 aggregates가 전체 쿼리 구조에서 어떻게 맞는지 확인합니다.

데이터 Cube

dataset 전환이 지원되는 Cube를 확인합니다.