# HeteroTSDB メトリクス保存のための [[時系列データベース]](TSDA)。[[Yuuki Tsubouchi]] らが提案。メモリベース KVS とディスクベース KVS を階層的に連合(federate)させ、取り込みスケーラビリティ・長期保持・保守性を両立する。プロトタイプ実装 xtsdb は github.com/yuuki/xtsdb で公開、Go + Redis Cluster + Apache Cassandra。 - メモリベース KVS(Redis)のハッシュテーブルインデックスで時系列を定数時間で挿入・更新し、メトリクス数増大に強い。ディスクベース KVS(Cassandra)へ古いデータを移してストレージコストを下げる。([[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]]) - 移行はメトリクス単位の **TTL + jitter** による細粒度方式。Flusher が時系列を Gorilla 圧縮して 1 トランザクションでディスクへ書き、jitter で移行負荷スパイクを回避。5 コンポーネント(Ingester / Flusher / Querier / memory-KVS / disk-KVS)。([[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]]) - 8 ノードで 1 million time series の取り込みスループットが KairosDB の **3.98 倍**(420k vs 105k pt/s)。時系列数増大時の劣化も小さい。([[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]]) - 2017 年 8 月に [[Hatena]] の監視 SaaS [[Mackerel]] に実投入(本番では DynamoDB + S3 の 3 層化・AWS Lambda 化)。([[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]]) ## 関連 - 本ソース: [[@2025__Kyoto University__Scaling Telemetry Workloads in Cloud Applications - Techniques for Instrumentation, Storage, and Mining]] - 開発者: [[Yuuki Tsubouchi]] - 実運用: [[Mackerel]] / [[Hatena]] - 関連概念: [[時系列データベース]] / [[テレメトリ]]