# ByteSeries
[[ByteDance]] の大規模メトリクス監視システム(100 億次元超)向けに [[Huazhong University of Science and Technology]] ([[Xuanhua Shi]] ら)と ByteDance が共同開発したインメモリ時系列データベース。SoCC '20 で発表([[@2020__SoCC__ByteSeries - An In-Memory Time Series Database for Large-Scale Monitoring Systems]])。
## 設計の核心
**3 段メモリ構造**:
1. **Active Buffer(AS)**: シャード分割・圧縮なし・高スループット取り込み専用
2. **Static Segment(SS)**: 中間変換段。append-only、軽量変換でスループット維持
3. **Compressed Segment(CS)**: Gorilla XOR 圧縮 + **Compressed Inverted Index**(trie + p4nzenc64)
**Compressed Inverted Index**: タグキーを double-array trie(cedar)でプレフィックス共有圧縮し、value 配列(次元オフセット)を p4nzenc64(TurboPFor)で整数圧縮。圧縮と多次元 group-by 集計を同一データ構造で両立する。
**Data Conversion Scheduler(DCS)**: 3 プロセッサ(Compactor/Merge Processor/Compressor)を 1 バックグラウンドスレッドで管理。圧縮バッチを取り込みに影響させない設計。
## 評価結果
元本番システム [[tsdc]] 比:
- メタデータメモリ: −60%
- 全体メモリ: −50%(本番環境 40〜50%)
- 多次元クエリ: 1.8〜10.7 倍高速化
[[Prometheus]] 比: 同メモリで 7 倍多い次元数を処理。Double-groupby クエリで大幅に高速。
## 関連
- ソース: [[@2020__SoCC__ByteSeries - An In-Memory Time Series Database for Large-Scale Monitoring Systems]]
- 開発者: [[Xuanhua Shi]] / [[Bingsheng He]] / [[Yongluan Zhou]] / [[ByteDance]]
- 概念: [[時系列データベース]] / [[クラウドモニタリング]] / [[テレメトリ]]
- 比較対象: [[tsdc]] / [[Gorilla]] / [[Prometheus]] / [[HeteroTSDB]]