概述
ChainStream GraphQL 中每個鏈組都接受兩個可選引數,用於控制 查詢命中哪張底層表。可按場景在新鮮度、查詢速度與資料完整性之間取捨。Dataset 引數
dataset 引數控制所查資料的 時間範圍,決定走實時表、歸檔表或兩者。
用法
歷史資料回補
構建資料管道或從故障恢復時,可用dataset: archive 配合時間範圍過濾回補歷史:
- 記錄上次處理的時間戳或區塊高度
- 用
dataset: archive與where從檢查點查到當前時間 - 處理回補資料
- 持續監控時改用
dataset: realtime
不支援 Dataset 切換的表
部分 Cube 無論dataset 取何值都查詢同一張表,包括:
- DWS Cube:
TokenHolders、WalletTokenPnL、DEXPools— 表示當前狀態快照 - 特殊表:
TransactionBalances、PredictionTrades、PredictionManagements、PredictionSettlements
dataset 會被靜默忽略。
Aggregates 引數
aggregates 引數決定查詢是否使用 預聚合物化檢視(DWM 層),而非原始明細表(DWD 層)。預聚合表通常按分鐘預計算彙總,查詢明顯更快。
用法
各模式適用場景
組合使用兩個引數
可同時使用dataset 與 aggregates:
效能考量
大盤用 realtime
dataset: realtime 命中更小的表分割槽,監控類場景響應更快。分析用 aggregates
aggregates: yes 或 only 利用預計算彙總,比全表掃描原始事件快幾個數量級。相關文件
Schema 概覽
瞭解 dataset 與 aggregates 在整體查詢結構中的位置。
資料 Cubes
檢視哪些 Cube 支援 dataset 切換。

