ClickHouse 可以用作时间序列数据库吗?
注意:请参阅博客 在 ClickHouse 中使用时间序列数据和函数,了解有关使用 ClickHouse 进行时间序列分析的其他示例。
ClickHouse 是面向 OLAP 工作负载的通用数据存储解决方案,虽然有很多专门的 时间序列数据库管理系统。然而,ClickHouse 专注于查询执行速度,使其在许多情况下优于专用系统。关于这个主题有很多独立的基准测试,所以我们不打算在这里进行一个。相反,让我们关注 ClickHouse 的功能,如果这是您的用例,这些功能非常重要。
首先,有专用编解码器,它们使典型的时间序列。常见的算法如 DoubleDelta
和 Gorilla
,或 ClickHouse 特有的算法如 T64
。
其次,时间序列查询通常只命中最近的数据,比如一天或一周前的数据。使用同时具有快速 NVMe/SSD 驱动器和大容量 HDD 驱动器的服务器是有意义的。ClickHouse TTL 功能允许配置将新的热数据保存在快速驱动器上,并随着数据老化逐渐将其移动到较慢的驱动器上。如果您的需求需要,也可以进行汇总或删除更旧的数据。
即使这与 ClickHouse 存储和处理原始数据的理念相悖,您也可以使用 物化视图 来满足更严格的延迟或成本要求。