【たいむすけーるでぃーびー】
TimescaleDB とは?
最終更新:
💡 PostgreSQLに、時系列を扱う仕組みを足す
PostgreSQLの拡張として動作し、時系列データを扱うための機能を加えるデータベース。ハイパーテーブルでデータをチャンクに分け、連続集約や列指向の保存などを利用できます。
📌 このページのポイント
- PostgreSQLのSQLやツールを利用できるが、対応バージョンや拡張の互換性は確認する
- ハイパーテーブルは一つのテーブルとして使い、内部では時間などでチャンクに分割する
- 連続集約は事前計算した結果を保持し、更新ポリシーなどに応じて反映する
- リアルタイム集約は別の設定。v2.13以降は既定で無効
- 列指向の保存や圧縮の効果はデータと設定次第。機能ごとのライセンスも確認する
TimescaleDBはPostgreSQLと別物?
ハイパーテーブルって何?
連続集約ならいつも最新の平均が出る?
事前計算した結果を使い、ポリシーや手動の更新で新しい状態を反映する。リアルタイム集約を有効にすると、集約済みの結果と、まだ集約されていない最近の生データを組み合わせられるよ。v2.13以降は既定で無効なんだ。
既存のPostgreSQLに追加するだけ?
選ぶ前に何を比べる?
SQLとの連携、保存期間、書き込み量、検索条件、運用方法を比べよう。圧縮で何割減るかや応答時間は自分のデータで測るんだ。ソースにはApache 2.0とTimescale Licenseの部分があり、利用機能やサービス提供の条件も確認する必要があるよ。
もっと詳しく知りたい人へ
過去のデータを追加してもリアルタイム集約にすぐ出る?
集約済みの過去の区間への追加は、リアルタイム集約だけではすぐ反映されません。次の更新を待つか、対象の連続集約を手動で更新します。最新の未集約データと、過去の再集計を区別してください。
まとめ:ざっくりこれだけ覚えればOK!
「TimescaleDB」って出てきたら「PostgreSQLに時系列向けの機能を加える拡張」と思えばだいたいOK!
📖 おまけ:英語の意味
「TimescaleDB」 = 時系列向けデータベースの製品名
💬 時間に沿って蓄積するデータをPostgreSQLで扱うための拡張です。名前から性能や利用条件が決まるわけではありません。