LoginSignup
75
71

More than 1 year has passed since last update.

時系列データベースの比較

Last updated at Posted at 2019-12-04

IoT(Internet of Things) システムでは、各種センサーから、秒以下の周期で取得された、大量の時系列データを取り扱います。このようなデータを保持するシステムとして、時系列データベースは求められています。そこで、代表的な時系列データベースの InfluxDB, TimescaleDB, Azure Cosmos DB, GridDB について、調査して比較しました。

調査項目

時系列データベースの調査項目は以下の通りです。

調査項目                      調査内容
対応プログラム言語 アプリケーションからデータベースを操作可能なプログラム言語
クエリ言語 データベースに対する問い合わせ言語。主にSQLの調査
データ圧縮 時系列データの圧縮機能の有無
データ自動集計 サマリなどデータを自動的に集計する機能の有無
期限解放機能 一定の期間を過ぎたデータを自動的に削除する機能の有無
時系列分析関数 サンプリング機能などの時系列データ特有の関数
インデックス 使用可能なインデックスの種類及び特徴
トランザクション トランザクションの特性。ACID特性など。
ストアドプロシジャ ストアドプロシージャ/ファンクションの有無、記述言語
トリガー データベーストリガーの有無
dockerコンテナ dockerコンテナイメージが提供されているかどうか
性能拡張 スケールアウトを中心にどのように性能拡張するのかを調査。主にシャーディング機能の調査。
高可用性 障害発生時に継続動作するためのメカニズムについて調査。主にレプリケーション機能の調査。
運用 運用時に必要なバックアップや監視ツールについて調査
通信暗号化 DBサーバとクライアント間の通信暗号化機能の有無
DB格納領域の暗号化 DBファイルなどの格納領域の暗号化機能の有無
認証機能 ユーザーを識別するような認証機能の有無
権限管理 DBオブジェクトに対する権限付与する機能の有無
DB監査 操作の履歴である監査証跡(ログ)機能の有無

調査結果比較

以下は、調査結果を比較した表です。

調査項目                    InfluxDB
(OSS)
InfluxDB
(製品版)
Timescale
DB(OSS)
Timescale
DB(製品版)
CosmosDB GridDB
(OSS)
GridDB
(製品版)
費用
対応プログラム言語
クエリ言語
データ圧縮
データ自動集計
期限解放機能
時系列分析関数
インデックス
トランザクション
ストアドプロシジャ
トリガー
dockerコンテナ
性能拡張
高可用性
運用
通信暗号化
DB格納領域の暗号化
認証機能
権限管理 △*1
DB監査

*1 : 2021年度下期に強化予定

詳細の調査結果は以下に掲載しています。
- InfluxDBの調査
- TimescaleDBの調査
- Azure Cosmos DBの調査
- GridDBの調査

まとめ

時系列データに特化した機能をフル活用したい場合、InfluxDB か GridDB、時系列機能とそれ以外の機能(RDBMS)をバランス良く使いたい場合、TimescaleDB、マネージドサービスを求める場合、Azure Cosmos DB という選択肢が考えられます。ただし、Azure Cosmos DB が時系列データを上手く扱えるのかについては疑問があります。
また、無償でレプリケーションやシャーディングなどの機能を求める場合、TimescaleDB か GridDB を選択することになります。
日本国内でのサポートを重視するのであれば、製品版の GridDB しかありません。

掲載内容は、(株)東芝 デジタルイノベーションテクノロジーセンター及びソフトウェア技術センターの見解です。コメント等は広くご意見を頂ければ幸いです。

また、記述について誤りがあったり、気になることがあれば、編集リクエストやコメントでフィードバックしていただけると助かります。

75
71
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
75
71