@article{oai:ipsj.ixsq.nii.ac.jp:00210346,
 author = {坪内, 佑樹 and 脇坂, 朝人 and 濱田, 健 and 松木, 雅幸 and 小林, 隆浩 and 阿部, 博 and 松本, 亮介 and Yuuki, Tsubouchi and Asato, Wakisaka and Ken, Hamada and Masayuki, Matsuki and Takahiro, Kobayashi and Hiroshi, Abe and Ryosuke, Matsumoto},
 issue = {3},
 journal = {情報処理学会論文誌},
 month = {Mar},
 note = {クラウド上のシステムの大規模化にともない,CPU利用率などのシステムの各構成要素の状態を把握するために,大量の時系列データを保存する必要がある.そのために,時系列データを保存するデータベースにはデータの挿入処理とデータ保存の効率化と挿入スケールアウト性の向上が求められる.既存技術は,挿入スケールアウト性を高めるために広く利用されているディスクベースの分散KVS(Key Value Store)を利用する.しかし,ランダムI/Oが低速なディスクへ書き込むという前提があることから,メモリ上でキーを整列させながら挿入可能な平衡木が利用されるが,キーの挿入時に系列数に対して対数時間を要する.すべてのデータをメモリ上に保持するメモリベースKVSであれば,ハッシュ表に基づくデータ構造の利用により定数時間の挿入が可能となる.しかし,メモリは容量単価が大きいことから,データを長期間保存するには不向きである.本論文では,メモリベースKVSとディスクベースKVSを階層化する高性能な時系列データベースHeteroTSDBを提案する.HeteroTSDBは,メモリベースKVS上に系列名をキーとして,系列本体をバリューとしたハッシュ表を構成することにより,系列数に対して定数時間でデータを挿入する.加えて,系列を格納するキーにTTL(Time To Live)によるタイマを設定し,古くなったデータを系列単位でまとめてディスクベースKVSへ移動させることにより,データ保存のための容量単価を低減させている.実験の結果,ディスクベースKVSを利用した既存の時系列データベースであるKairosDBと比較し,HeteroTSDBは3.98倍の挿入スループット向上を達成した., As the scale of systems on the cloud grows, there is a need to store a significant amount of time series data to understand the status of each component of systems, such as CPU utilization. Time series databases require high insertion scale-out property and high efficient utilization of hardware resources for insertion and storage. Existing technologies utilize disk-based distributed KVSs (Key Value Stores), which is widely used to achieve insertion scale-put property. Since random I/Os to disk are slower than to memory, the disk-based KVSs adopt an equilibrium tree, that can be inserted while aligning the keys in memory. However, it takes logarithmic time for the number of time series. Memory-based KVSs, where all the data are stored in memory, adopts data structure based on a hash table, which is possible to insert an key in constant time. However, it is not suitable for long-term storage because the unit cost of memory is higher than disk. In this paper, we propose HeteroTSDB, a high performance time series database that tiers a memory-based KVS and a disk-based KVS. HeteroTSDB accelerates the inserting process by constructing a hash table with a series name as a key and series data as a value on the memory-based KVS. Automatic tiering reduces the unit cost of storage capacity by moving the old data from a memory-based KVS to a disk-based KVS. Benchmark experimentation demonstrates that, compared with the existing time series database on a disk-based KVS KairosDB, HeteroTSDB achieves performance improvement of up to 3.98 times in insert throughput.},
 pages = {818--828},
 title = {HeteroTSDB:異種分散KVS間の自動階層化による高性能な時系列データベース},
 volume = {62},
 year = {2021}
}