時系列データベース
時刻と値の組に特化したデータベース
From Wikipedia, the free encyclopedia
概要
時系列データセットは一般に、時刻(タイムスタンプ)と値の組で構成され、他のデータセットに比べて内容が画一的である。さらに、テーブル間の関係が少なく、既存のデータをあとから書き換えたり、データを無期限に保存したりする需要もほとんどない。時系列データベースはこうした時系列データセットの特性に特化することで、汎用データベースに比べてストレージ性能やクエリー性能を大幅に向上させているのが特徴である。たとえば、時系列データの均一性に特化した圧縮アルゴリズムを用いたり、古いデータを定期的に削除したり、特殊な高効率インデックスを利用するなどの工夫がなされる[2][3]。
時系列データは、分野によってプロファイル、カーブ、トレース、トレンドとも呼ばれる[4]。
主な時系列データベース
下記のデータベースシステムは、時系列データセットを処理するために最適化された機能を持つ。
| 名称 | ライセンス | 実装言語 | 参考文献 |
|---|---|---|---|
| Apache Druid | Apache License 2.0 | Java | N/A |
| Apache Kudu | Apache License 2.0 | C++ | [5] |
| Apache Pinot | Apache License 2.0 | Java | [6] |
| eXtremeDB | 商用 | SQL, Python, C / C++, Java, and C# | [7] |
| InfluxDB | MIT.[8] Chronograf AGPLv3, Clustering Commercial[9] | Go | [7][10] |
| Informix TimeSeries | 商用 | C / C++ | [7][11] |
| Kx kdb+ | 商用 | Q | [7] |
| MongoDB | Server Side Public License | C++, JavaScript, Python | [12] |
| Prometheus | Apache License 2.0 | Go | [7] |
| RedisTimeSeries | BSDライセンス | C言語 | [13] |
| Riak-TS | Apache License 2.0 | Erlang | [7] |
| RRDtool | GPLv2 | C | [7] |
| TimescaleDB | Apache License 2.0 | C | [14] |
| Whisper (Graphite) | Apache License 2.0 | Python | [15] |
関連項目
- リレーショナルデータベース … 関係モデルに基づいて離散的な関係を最適化するリレーショナルデータベースの設計は、時系列データベースと対照的である[16]。
- Operational historian