「サーベイログ」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)