# KairosDB
[[OpenTSDB]] の書き直しとして開発されたオープンソースの時系列データベース。ストレージ層に Cassandra 1.2.8 を使用する(OpenTSDB が HBase を使う点と異なる)。データ検索表示層を分離し、より高度な時系列アグリゲータを含む豊富なクエリ機能を提供する。REST API・Telnet のほか、バッチデータの圧縮アップロードをサポートし、ミリ秒分解能に対応する。Apache 2.0 ライセンス。
[[@2014__IEEE CLOUD__Scalability and Robustness of Time-Series Databases for Cloud-Native Monitoring of Industrial Processes]] での評価バージョンは 0.9.1(31,474 LOC、アクティビティ 53 コミット / コミッタ 2 名、2013 年 10〜12 月)。
## ベンチマーク結果(IEEE CLOUD 2014)
3 種の被評価システムのうち唯一、全 5 仮説を概ね満たしたシステム。
**スケーラビリティ(PMU Write)**:
- 24 ノードで最大約 420 PMU
- 36 ノードで最大 598 PMU・538 リクエスト/秒・403,500 値/秒書き込み
- 3〜36 ノードでほぼ線形のスケーリング(Figure 4)
**スケーラビリティ(SmartMeter Write)**:
- 36 ノードで最大約 600 万スマートメータ(大都市規模の AMI)
- ただし 200 万超で若干鈍化——マッピングテーブルのキャッシュミス起因の可能性
**リソース特性**:
- CPU バウンド: KairosDB プロセスと Cassandra プロセスが各 ~50% を均等分担
- ディスクは PMU ReadAll でも平均 4MB/s と低く、CPU が先に飽和する
**読み書き独立性**:
- PMU WRA(書き込み 95%・ReadAll 5%)でも書き込みスループット低下なし
- ReadSingle の最大スループット: 225 読み取り PMU / 166 リクエスト/秒
- ReadAll の最大スループット: 40 仮想ユーザー / 9.8 リクエスト/秒(50 テーブルアクセスの負荷から)
**ロバスト性**:
- Cassandra のキュー状態を監視しクライアントの応答時間を増やすことで自然スロットリング
- 三重複製によりノード障害時も処理継続
- グレースフルデグラデーションを実現
## 関連
- 概念: [[時系列データベース]] / [[時系列データベースベンチマーク]]
- 論文: [[@2014__IEEE CLOUD__Scalability and Robustness of Time-Series Databases for Cloud-Native Monitoring of Industrial Processes]]
- 比較対象: [[OpenTSDB]] / [[Databus]]