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