Can I Use ClickHouse As a Time-Series Database?
Note: Please see the blog Working with Time series data in ClickHouse for additional examples of using ClickHouse for time series analysis.
ClickHouseは、OLAP ワークロード用の汎用データストレージソリューションですが、多くの専門の時系列データベース管理システムも存在します。それにもかかわらず、ClickHouseのクエリ実行速度の重視 により、専門のシステムを上回るパフォーマンスを発揮することが多いです。このトピックに関しては、多くの独立したベンチマークが存在するため、ここで実施することはありません。代わりに、そのユースケースに重要なClickHouseの機能に焦点を当てましょう。
まず第一に、典型的な時系列データを処理するための**専門的なコーデック**があります。DoubleDelta
やGorilla
のような一般的なアルゴリズム、またはClickHouse専用のT64
などです。
第二に、時系列クエリはしばしば最近のデータ、例えば1日または1週間前のデータにのみアクセスします。高速なNVMe/SSDドライブと大容量のHDDドライブの両方を兼ね備えたサーバーを使用することが理にかなっています。ClickHouseのTTL機能を使用すると、新鮮なホットデータを高速ドライブに保持し、データが古くなるにつれて徐々に遅いドライブに移動できます。要件が求める場合、さらに古いデータのロールアップや削除も可能です。
生データをストレージして処理するというClickHouseの哲学に反しますが、マテリアライズドビューを使用して、より厳しいレイテンシやコストの要件に適合させることができます。