TimescaleDB(時系列データベース)とは【PostgreSQL】
時系列データベースとは
時系列データベースとは、時系列データに最適化されたデータベースのことです。
時系列データとは、タイムスタンプを持った複数の値の集まりです。タイムスタンプは一定間隔で連続的な値をとります。
例:株価データ、気象データ、売上データ、アクセス数など
時系列データベースに求められるものとして、「時間に伴う大量のデータを扱うことができる書き込み能力」、「データの分析能力」、「データを効率よく保存する能力」が求められます。
時系列データベース製品
時系列データベース製品の人気ランキングは次のとおりのなっています(2022年12月時点)。
1.Influx DB(インフラックスDB)
2.Kdb+(ケーディービープラス)
3.Graphite(グラファイト)
4.Prometheus(プロメテウス)
5.TimescaleDB(タイムスケールDB)
DB-Engines Ranking - Trend of Time Series DBMS Popularity
TimescaleDB(タイムスケールDB)
TimescaleDBとは、アメリカのTimescale社が開発している時系列データベースで、PostgreSQLの拡張機能として実装されました。
PostgreSQLの拡張として実装されていることにより、次のような特徴があります。
・SQLやPostgreSQL用のアプリケーションがそのまま使用可能
・PostgreSQLの安定感・信頼感を享受できる
・データ量が増えても安定して高速に書き込みが可能
TimescaleDBのライセンス
ライセンスTimescaleDBは大部分はApache License2.0というオープンソースのライセンスのため、自由に使用可能です。
しかし一部の機能は、Timescale Licenseといったライセンス形式(TimescaleDBをデータベースサービスとして提供しなければ自由に使用可能)のため注意が必要です。なお、個人使用なら自由に使ってよいことになります。
注意点
TimescaleDBとPostgreSQLのバージョンには対応関係があります。
それぞれの対応にあったバージョンでなければならないため、注意してください。
TimescaleDBバージョン |
PostgreSQLバージョン |
2.5以降 | 12、13、14 |
2.4 | 12、13 |
2.1、2.2、2.3 | 11、12、13 |
2.0 | 11、12、 |
1.7 | 9.6、10、11、12 |