2023年4月27日,InfluxData 将其 InfluxDB 时间序列数据库产品组合升级到 3.0 版。主要重写旨在提供更多性能和功能以实现实时数据分析。
InfluxData 成立于 2012 年,一直致力于开发一个基于开源的时间序列数据库,使用Go 编程语言编写。根据定义,时间序列数据库专注于随着时间的推移跟踪时间戳数据的核心任务,这在广泛的用例和行业中都很有用。随着向 InfluxDB 3.0 产品组合的转变,InfluxData 正在扩展,不再只是一个时间序列数据库,而是提供该公司声称的实时分析数据库。

InfluxDB 3.0 产品发布的一个基础部分是完全重写数据库以实现更好的分析功能。重写不仅仅是在新代码方面;它还使用不同的编程语言。InfluxDB 3.0 的存储引擎是以前称为 InfluxDB IOx 的代码,是用开源Rust 编程语言编写的。存储引擎并不是用 Rust 编写的数据库更新的唯一部分——InfluxDB 3.0 还受益于开源 Apache Arrow DataFusion SQL 查询引擎。
InfluxData 的联合创始人兼首席技术官 Paul Dix 告诉 VentureBeat:“从核心技术的角度来看,这是我们最大的变化之一,因为它是用完全不同的语言彻底重写数据库的核心。” . “经过两年半的努力,这是一个长期项目,最终将其推向市场既令人紧张又令人兴奋。”
为什么 InfluxDB 需要一个新的时间序列引擎来实现实时分析
编写 InfluxDB 数据库第一个版本的 Dix 指出,随着时间的推移,时间序列引擎的局限性变得越来越明显。
InfluxDB 的用户试图将该软件用于数据库无法很好处理的各种用例。一个这样的常见用例是实时分析,它可能有特定的架构要求。
InfluxDB 面临的挑战之一是能够解决数据库中“无限基数”的需求。无限基数是数据库列包含无限数量的唯一值的能力,这需要一个存储和查询引擎能够以 InfluxDB 3.0 之前无法实现的方式进行扩展。
在 InfluxDB 3.0 数据库中,还有一个数据格式更改,可以更轻松地整体处理数据。以前,InfluxDB 使用了一种时间序列数据格式,这种格式并不特别有利于数据分析和在数据湖等常见部署中的使用。在 InfluxDB 3.0 中,数据库现在使用开源Apache Parquet文件格式。由于所有数据都在 Parquet 中,Dix 表示他预计 InfluxDB 3.0 将与数据湖系统有更好的集成。

为什么数据库中的 Rust 是一件好事
在物理世界中,生锈是一种氧化形式,通常被认为对钢铁等材料有害。
就技术而言,Rust(作为一种编程语言)实际上是一件好事——或者至少这是 Dix 希望的,因为 InfluxDB 3.0 将成为首批依赖该语言的数据库之一的开拓者。Dix 解释说,Rust 是一种功能强大的系统语言,它还具有更高级别的抽象,使其更易于使用并帮助开发人员提高工作效率。
“Rust 作为一种用于编写基于多线程服务器的应用程序的语言,其工具确实非常强大,”Dix 说。“它还针对性能和控制进行了优化。”
文章来源:https://venturebeat.com/enterprise-analytics/influxdata-releases-influxdb-3-0-product-suite-for-time-series-analytics/




