Asopitech VS
TimescaleDB vs Alopex Skulk
TimescaleDBのハイパーテーブルとPostgreSQLの拡張としての動き方を、Alopex Skulkと比べて紹介します。
更新: 2026/10/13
TimescaleDBとは
TimescaleDBは、PostgreSQLの拡張として動く時系列データベースです。時系列とイベントのデータを、PostgreSQLのSQLのまま扱えます。
仕組み
- ハイパーテーブル:時間で自動的に区切られるPostgreSQLのSQLテーブルです。区切られた単位はチャンクと呼ばれ、問い合わせは該当するチャンクで実行されます。
- PostgreSQLの拡張:TimescaleDBは、PostgreSQLの拡張として入れて使います。
- 行と列の保存(Hypercore):新しいデータは行の形で受け、自動で列指向の形に変えて圧縮します。
主な機能
- 時間で区切って集計する関数(time_bucket)。
- 新しいデータが入ると裏で更新される集計(continuous aggregates)。
- 古いデータを決まった周期で消す、保持期間のポリシー。
制限
使うにはPostgreSQLのサーバーを運用し、拡張を入れる必要があります。一部の機能は、Apache 2.0とは別のTimescaleのライセンスで提供されます。メトリクスのためにPostgreSQLを足すと、運用するデータベースが1つ増えます。
Alopex Skulkとの違い
どちらも、時系列を時間で区切って保存し、SQLで集計できます。
Alopex Skulkは、組み込みからサーバー、クラスタまで、同じエンジンで育てられるRustの時系列エンジンです。アプリに組み込んで小さく始め、同じアプリのまま、Prometheusと互換のエンドポイントを持つサーバー、シャーディングと複製で広げるクラスタへ進めます。どの形でも、時系列を取り込み、PromQLとSQLで問い合わせ、時間で区切った列指向のParquetファイルに置き、期限を過ぎた区間を自動で落とします。組み込みでもサーバーでも同じエンジンが動き、PostgreSQLを足さずにPromQLでも問い合わせられます。
組み込みからクラスタまで、1つの時系列エンジンで育てられるAlopex Skulkを試してみよう。Alopex Skulkから始められます。
参考資料
- TimescaleDB(GitHub)、Hypertables、Hypercore、Continuous aggregates、Time buckets、Data retention、Timescale License