Influxdata以开源时序型数据库InfluxDB 3.0为基础,开发分布式自托管存储解决方案InfluxDB Clustered,用于取代原本的InfluxDB Enterprise。官方提到,InfluxDB Clustered的查询性能为之前版本的45倍,存储成本则可降低90%。
InfluxDB数据库主要存储时序性数据,被广泛用于监控、物联网设备和即时分析等应用程序上,而InfluxDB 3.0是以Rust开发,并且构建在DataFusion、Parquet与Flight等Apache Arrow生态系软件之上,因此与许多相关开源解决方案保有极高的互通性。
InfluxDB Clustered构建于Kubernetes容器技术之上,因此具有极高的灵活性和可扩展性,用户可以随意缩放InfluxDB Clustered集群。InfluxDB Clustered能够实现高速且大容量的分析,并在不影响性能的情况下处理高基数(High Cardinality)数据,也就是更快速地处理许多不重复数值,像是身份证字号或是手机号码这类独一无二的数据。官方解释,因为InfluxDB Clustered的存储与运算分离,因此用户可以扩展需要的数据库组件,以满足特定数据应用的需求。
特别的是,InfluxDB Clustered拥有多个存储层,截取的数据会先进到热存储层,不需要等待这些最新数据汇集成批次,或是进行其他类型的预处理,就可被用户立即查询,官方表示,这样的方法使查询速度可达过去的45倍。结合热存储层与处理基数数据的能力,用户便可以即时对大型数据集进行分析,而这过程皆不会降低数据库性能。
冷存储层则构建在较便宜的云计算对象存储上,InfluxDB会将历史数据从热存储层移动到冷存储层进行存储,而这便是InfluxDB Clustered能够降低存储成本90%的原因之一。另一个原因在于InfluxDB 3.0能够更好地压缩数据。
InfluxDB 3.0改采用栏式存储方式,这代表每一栏的相似数据可以被独立压缩,进而达到更大的压缩率。再来是InfluxDB使用Apache Parquet数据存储格式,Parquet适合处理栏式数据,能够运用字典编码和长度编码,更有效地压缩重复值。更便宜的对象存储和数据压缩率,也就能够让用户付出相同的成本存储更多数据。
在安全性上,InfluxDB默认对传输数据进行加密,官方也提到,他们将会加入专有网络、单点登录、审核日志和高可用性等功能。InfluxDB Clustered与InfluxDB Cloud Serverless、InfluxDB Cloud Dedicated云计算产品不同,InfluxDB Clustered是一个自托管的产品,存储在其中的数据由企业完全控制,可以符合特定产业或是法规要求。