Skip to main content

概述

ChainStream GraphQL 中每个链组都接受两个可选参数,用于控制 查询命中哪张底层表。可按场景在新鲜度、查询速度与数据完整性之间取舍。

Dataset 参数

dataset 参数控制所查数据的 时间范围,决定走实时表、归档表或两者。

用法

历史数据回补

构建数据管道或从故障恢复时,可用 dataset: archive 配合时间范围过滤回补历史:
  1. 记录上次处理的时间戳或区块高度
  2. dataset: archivewhere 从检查点查到当前时间
  3. 处理回补数据
  4. 持续监控时改用 dataset: realtime

不支持 Dataset 切换的表

部分 Cube 无论 dataset 取何值都查询同一张表,包括:
  • DWS CubeTokenHoldersWalletTokenPnLDEXPools — 表示当前状态快照
  • 特殊表TransactionBalancesPredictionTradesPredictionManagementsPredictionSettlements
对这些 Cube,dataset 会被静默忽略。

Aggregates 参数

aggregates 参数决定查询是否使用 预聚合物化视图(DWM 层),而非原始明细表(DWD 层)。预聚合表通常按分钟预计算汇总,查询明显更快。

用法

各模式适用场景


组合使用两个参数

可同时使用 datasetaggregates
该查询在实时数据上使用预聚合表,拉取最近约 60 分钟的跨链代币成交统计,以获得较高速度。

性能考量

大盘用 realtime

dataset: realtime 命中更小的表分区,监控类场景响应更快。

分析用 aggregates

aggregates: yesonly 利用预计算汇总,比全表扫描原始事件快几个数量级。
若要 OHLC 或成交量查询尽可能快,可组合 dataset: realtimeaggregates: only,命中最小、最优化的一片数据。

相关文档

Schema 概览

了解 dataset 与 aggregates 在整体查询结构中的位置。

数据 Cubes

查看哪些 Cube 支持 dataset 切换。