InfluxDB 0.10 GA 发布,支持每秒数十万次写入和 98% 更佳的压缩率
作者:Paul Dix / 产品
2016 年 2 月 4 日
导航至
InfluxData 团队很高兴地宣布 InfluxDB 0.10 稳定版发布!这是一个重要的版本,因为它现在使用了 TSM 存储引擎。在稳定性、性能和压缩方面的改进是巨大的。这是 InfluxDB 迄今为止最大和最重要的版本,因此现在是开始考虑您的迁移策略的时候了。请继续阅读以了解所有详细信息。
性能
我们在 TSM 存储引擎上所做的工作显着提高了写入性能。除了整体吞吐量之外,我们还将 IOPS 负载降低了一个数量级以上。在一个 4 核系统和 16GB 内存的测试中,我们以 5,000 个数据点为一批写入了 100B 个数据点。在整个测试过程中,持续写入负载 >350,000 点/秒,IOPS 相当稳定,约为 750。
这使得在具有旋转磁盘的硬件上,在显著的写入负载下运行 TSM 和 InfluxDB 成为可能。此时的写入性能主要受 CPU 限制。具有更多 CPU 的服务器将能够支持更高的写入吞吐量。
此版本的 InfluxDB 的性能现在超过了 0.9.x 版本的 70 倍以上。此版本还显着超过了之前任何 InfluxDB 版本的写入性能,包括 0.8.x 系列版本。
InfluxDB 写入吞吐量比较(越大越好)
压缩
TSM 存储引擎具有特定于时间序列的压缩功能。对于每种数据类型,我们使用不同的压缩技术。这在很大程度上取决于您的数据形状,但在秒级精度的规则间隔时间戳和 float64s 的情况下,我们看到压缩将每个数据点减少到大约 2.2 字节/点。
这种压缩比我们在 0.9.x 中看到的要好 98%,并且比 0.8 提供的更好。如果您正在运行测试,您会看到压缩随着后台运行的压缩过程而改进。这在 InfluxDB 运行时自动发生。
通过此版本,InfluxDB 拥有了时间序列解决方案中一些最佳的压缩功能。
InfluxDB 每点字节数比较(越小越好)
稳定性和测试
在此版本中,我们在测试和提高稳定性方面投入了大量精力。对于 TSM 存储引擎,我们已经在各种硬件配置、客户部署和云中积极测试了数月。我们进行了在压缩、写入和查询过程中杀死数据库的测试,并且一遍又一遍地进行。
使用此版本中的代码,我们无法创建数据库损坏的情况。简而言之,此版本的测试和老化时间比我们之前发布的任何其他代码或版本都多。查看最近在 SF InfluxDB Meetup 上给出的视频,工程副总裁兼联合创始人 Todd Persen 在视频中向您介绍了测试和基准测试方法。
从以前的版本升级
如何从 0.9 升级到 0.10?
如果您是从 0.9.x 版本升级,如果您运行的是单服务器,则应该是就地升级。现有的分片仍将使用旧的存储引擎,而新的分片将使用 TSM 存储引擎。这意味着如果您升级,您将不会立即看到性能提升。您必须等待创建新的分片。
0.9 分片呢?
未来版本的 InfluxDB 将删除对使用旧存储引擎的分片的支持。我们创建了一个 迁移工具,用于将旧存储引擎转换为 TSM。对于运行此版本,这不是必需的,但是如果您进行转换,您将大大减少旧分片占用的磁盘空间。
升级 0.9 集群呢?
如果您正在运行 0.9.x 的集群设置并想要升级,您将需要我们的帮助才能完成升级。请发送邮件至 [email protected] 安排与我们的一位解决方案架构师进行咨询。
从 0.8 升级呢?
如果您正在运行 0.8.9 或更早版本,现在是开始考虑迁移到 0.10.0 的时候了。如果有任何阻止您迁移的障碍,请告知我们,我们将优先将其纳入下一个版本。需要帮助制定迁移计划?我们可以提供帮助!请发送邮件至 [email protected] 安排咨询。
集群改进
“集群怎么样?” 可能是您的下一个问题。我们投入了大量精力来改进我们的集群实施,并启用了一些有用的新配置。我们现在有了元节点和数据节点的概念。默认情况下,集群中的所有服务器都将同时充当这两种角色。但是,现在可以分离它们。
这意味着在非常大的集群或数据节点负载很重的配置中,可以分离元节点。另一个有用的配置是使用两个充当元节点和数据节点的节点,而第三个功能较弱的节点可以仅充当元节点。这有点类似于其他一些数据库,允许您使用两个大型服务器和一个“仲裁器”运行。
新配置稍微改变了此版本中集群的设置方式。阅读此指南,了解有关如何设置 InfluxDB 集群的更多信息。
集群仍被标记为实验性,但我们的测试正在加强,我们发现它更加可靠。如果您有兴趣在当前版本中在生产环境中运行集群,请发送邮件至 [email protected] 安排咨询,了解如何在风险最小的情况下部署到生产环境。
下一步是什么?
前往 下载页面开始评估新版本。我们还有更多计划,但此版本的发布标志着 InfluxDB 的持续开发和成熟迈出了巨大的里程碑。更多时间序列的优点即将到来!