跳至主要内容

我可以将 ClickHouse 用作时间序列数据库吗?

注意:请参阅博客 在 ClickHouse 中使用时间序列数据 了解有关将 ClickHouse 用于时间序列分析的更多示例。

ClickHouse 是一个通用的数据存储解决方案,适用于 OLAP 工作负载,而有许多专门的时间序列数据库管理系统。尽管如此,ClickHouse 的 对查询执行速度的关注 使它在许多情况下能够胜过专门的系统。有许多关于此主题的独立基准测试,因此我们不会在此进行基准测试。相反,让我们关注 ClickHouse 的重要功能,这些功能在您使用它时非常重要。

首先,有一些 专门的编解码器 使典型的时间序列变得更容易。无论是像 DoubleDeltaGorilla 这样的通用算法,还是像 T64 这样 ClickHouse 特有的算法。

其次,时间序列查询通常只命中最近的数据,比如一天或一周前的数据。使用同时拥有快速 nVME/SSD 驱动器和高容量 HDD 驱动器的服务器是有意义的。ClickHouse TTL 功能允许将新鲜的热数据保留在快速驱动器上,并随着数据的不断老化,逐渐将其移至较慢的驱动器上。如果您的要求需要,还可以滚动或删除更旧的数据。

尽管这违背了 ClickHouse 存储和处理原始数据的理念,但您可以使用 物化视图 来适应更严格的延迟或成本要求。