
在 InfluxData 企业版 GA 版本发布两年后,其开源版本也达到了同样的成熟度。核心版本旨在支持实时工作负载和简化运行,因此省略了一些功能,如长期存储优化、数据压缩、高可用性(HA)、读副本或细粒度访问控制等。
第三个版本已经超越了传统数据存储功能,嵌入了一个 Python 虚拟机,使得开发者能够扩展他们收集、处理以及设置实时数据告警的方式。InfoQ 采访了 Paul Dix,InfluxData 联合创始人兼首席技术官,深入了解开源版本与企业版的差异,以及用户如何选择合适的版本。
InfoQ:非常感谢你在百忙之中抽出时间回答读者的一些问题。首先,请你简单介绍一下自己,并描述一下你在 InfluxData 的日常工作内容。
Dix:我是 InfluxData 的创始人兼首席技术官,InfluxDB(时间序列数据库)的作者。我负责产品战略和 InfluxDB 3 的开发。我的使命是确保我们在技术发展和向开发者社区展示自己的方式上始终走在正确的道路上。
InfoQ:是什么因素促使你们在推出企业版的同时,还决定开发一个开源版本的数据库?
Dix:我认为基础设施软件应该是开放的、可定制的,并且能够轻松地根据你的需求来运行。这也是我坚信开源应成为每个产品基石的原因。我们的理念是:你可以从核心版本起步,启动你的系统。随着系统的发展和需求的演变——比如你需要进行大范围查询、实现高可用性或部署多节点——你可以选择升级到企业版。我们将核心版本作为的基础,支持无限扩展,并采用“无盘”架构,而企业版则在此基础上增加了应对商业工作负载的复杂功能。
InfoQ:相较于企业版,用户在使用开源版本时可能会遇到哪些挑战或限制?
Dix:InfluxDB 3 Core 针对实时工作负载进行了优化,例如边缘数据转换、流分析和基于传感器的告警——任何需要快速洞察的场景。这个核心版本旨在为本地开发、边缘设备或轻量级监控环境提供坚实的基础。企业版更适合处理复杂的长历史查询或在多个节点间进行扩展。我们还为爱好者和家庭用户推出了免费的企业版,它以单节点运行,并包含压缩引擎等特性,使得处理历史数据变得更加便捷。
InfoQ:这款数据库与市场上其他同类产品相比有何优势?
Dix:我们不想再做一个通用的时间序列适配引擎。基于我们的经验,我们为时间序列数据量身打造了 InfluxDB 3,旨在实现高写入速度、低延迟查询和高效的数据压缩。我们采用了 FDAP 技术栈——包括 Flight、DataFusion、Arrow 和 Parquet——以促进数据生态系统的集成。
InfluxDB 3 是数据管道中的一个活跃层,通过嵌入式处理引擎将计算和存储紧密结合。它支持单进程操作和水平扩展,并且具备使用 Python 进行数据转换和 SQL 查询的能力,这些特点使其在众多时间序列数据库中脱颖而出。
InfoQ:你在重写数据库时的感受如何?
Dix:从头开始重写一个时间序列数据库可不是一件轻松的事。真正的挑战在于同时实现所有设计目标——支持对象存储作为持久化层、提供毫秒级查询延迟、运行在通用 SQL 引擎之上,同时保持操作的简单性。
InfoQ:InfluxData 未来有何规划?核心版本将带来哪些新功能?
Dix:我们在处理引擎方面积极投入,这是 InfluxDB 3 Core 和企业版最重要的组成部分之一。处理引擎代表了数据库功能的一次根本性转变。
传统的数据库通常是被动式的:你写入数据,然后稍后查询。数据库应该能够做得更多,因此我们在处理引擎方面大力投入,目标是将 InfluxDB 转变为一个能够对流式数据做出反应的主动式智能引擎。
处理引擎是一个轻量级的 Python 虚拟机,直接嵌入在数据库中。用户可以利用他们已经熟悉的代码在数据库中构建各种功能,如实时异常检测、定时报告、自定义 ETL 流程等。
InfluxDB 3 Core 承诺提供与企业版相同的使用体验。不过,它没有包含企业版中特有的存储优化、数据压缩、高可用性、只读副本和细粒度访问控制等功能。对于想要更深入参与的用户,可以在他们的 GitHub 仓库 提交问题或发起拉取请求(PR),或者在他们的 Discord 频道上交流。
【声明:本文由 InfoQ 翻译,未经许可禁止转载。】
查看英文原文:https://www.infoq.com/news/2025/04/influxdb3-open-source/
评论