InfluxDays 回顾 – Paul Dix 和 InfluxDB 的旅程

导航至

根据古老的谚语,生活是一场旅行,而不是目的地。同样,对于软件也是如此。任何开发人员都不太可能说他们构建的东西真正完成了。总会有需要修复的虫子、要添加的功能和要实施的更新。作为一个专注于时间和时间背景的公司,这些主题在 Paul Dix 的 InfluxDays 演讲中扮演了重要角色并不令人惊讶。

Paul 确定了时间序列数据库的两个具体功能。第一个是时间序列数据库是一个存储值和元数据的地方。第二个是时间序列数据库使用原始数据实时计算。当 InfluxDB 首次进入市场时,处理时间序列数据的选项使第一个功能——存储时间序列数据成为可能。

最初...

像 RRDtool 和 Graphite 这样的解决方案使用了循环冗余数据库结构的变体。然而,关于循环冗余文件格式的主要假设之一是所有时间序列都是规则的。因为事件的存在,我们知道这实际上并非如此。

OpenTSDB(另一个早期时间序列数据库)的数据模型不依赖于循环冗余数据结构。OpenTSDB 数据模型更接近 InfluxDB 在 行协议 中使用的,但它只能在不影响性能的情况下处理少量元数据标签。

这就是 InfluxData 在 2013 年引入 InfluxDB 时的时序数据库世界。InfluxDB 提供的一个重要差异是支持指标和事件。我们这样做是为了解决时间序列数据库的两个关键功能——存储数据和实时计算。

随着InfluxDB的不断发展,我们开发了行协议数据模型,它允许快速摄取和广泛的标签。最终,InfluxDB的早期版本对低基数数据集具有快速的查找和查询执行能力,但高基数数据集的处理速度较慢且成本较高。

…迈向未来

对InfluxDB的历史回顾很重要,因为它为平台未来的发展提供了背景。InfluxDB的第二大迭代在处理时间序列数据库功能方面做得相当不错,但基数问题仍然是一个阻碍用户从时间序列数据库中获得所需性能和使用案例支持的障碍。

由IOx驱动的InfluxDB的最新版本依赖于列式结构。这允许更有效的数据压缩,因为它使用Apache Parquet对每个列进行压缩和编码。Parquet只是对InfluxDB进行的众多重大改进之一,但将这些更新结合起来,可以有效地消除基数限制。InfluxDB IOx真正是一个提供存储和从高精度原始数据实时计算时间序列的能力的时间序列数据库。

下一代InfluxDB的其它新增功能包括对SQL查询的原生支持以及在边缘的联邦,使用户能够以符合其使用案例的方式处理高保真数据。由IOx驱动的InfluxDB现在已在InfluxDB Cloud中提供。

有关IOx的更多信息,请参阅公告