「サーベイログ」HeteroTSDB: A Time Series Database Architecture for Automatically Tiering on Deterogeneous Key-Value Stores

読んだ論文

https://yuuk.io/papers/heterotsdb_iots2018.pdf

どんなもの?

モニタリングサービスのインフラとなる時系列データベースに求められる書き込み性能、保存効率、データ構造の拡張製、スケーラビリティを実現するためにインメモリKVSとオンメモリKVSを組み合わせた異種混合KVSによる自動階層化する時系列データベースアーキテクチャ

先行研究と比べてどこが凄い?

先行研究ではデータストアが密結合であったため、データの拡張性が低かったが本アーキテクチャ疎結合のため拡張性がたかい(新たな性質を持つデータストアを組み合わせることが可能)

  • InfluxDB
  • OpenTSDB
  • Gorilla

技術や手法のキモはどこ?

書き込み性能とデータ保存効率という性能要件を実現するために、特性に合ったDBMSを組み合わせたこと。

どうやって有効だと検証した?

書き込み処理効率の計測

オンディスクKVSに直接書き込む場合と比較し、インメモリKVSで書き込みを受けることにより、オンディスクKVSの書き込み回数が減っていることを確認する

データ保存効率

インメモリKVSへの書き込みを続けても空きメモリが0にならずにオンディスクKVSにデータを移動できているか確認する

書き込みスケールアウト性

各KVSのキャパシティを増加させたときに、分間書き込み回数がスケールアウトするかどうかを確認する。

議論はある?

とくになし

次によむべき論文は?

  • The Log-Structured Merge-Tree
  • Time SEries Management Systems
  • BigTable: A Distributed Storage System for Structured Data

メモ

提案: HeteroTSDBアーキテクチャ 先行手法: OpenTSDB 高めたい指標: スケーラビリティ、書き込み性能、保存領域、拡張性を疎結合なソフトウェアとすることで実現、高可用性 データ構造の拡張性を考慮した時系列データベースは提案されていない→新規性 拡張内容に合わせた異なるDBMSを追加する疎結合アーキテクチャをとりつつ、利用者からはREAD/WRITEのためのインターフェイスをそれぞれ一つに見えるように統一 書き込み性能→インメモリKVS データ保存効率を高める→オンディスクKVS AWSのサーバレスプラットフォーム上に構築することで異種混合DBMS構成を取りやすくしている→構築やスケールアウト作業の負担軽減 KVS間のデータ移動のためのタイマー手法 LSM-Tree(Log Structured Merge Tree)