国产时序数据库 Apache IoTDB 在海外排行榜位列第一,各性能领先 1- 97 倍!
最近观察到一个数据库测评排行,测试机构 benchANT 位于德国,专门做云设施和数据库性能的测试。
这个机构很有意思,他们觉得当前有各种各样的数据库系统,但是当用户带着需求去选型的时候,很难找到一个参考基准来评价到底哪种数据库适合自己的场景。比如国际知名的数据库系统排行榜 DB-Engines 在做排名的时候,更多地是基于各数据库在媒体和搜索引擎中的曝光,也就是按照流行度而非性能和功能排名,说白了刷流量对于榜单结果的影响是不可避免的。
因此 benchANT 致力于用相同的硬件资源和系统配置,使用业界认可的测试工具,将主流数据库系统根据类别放在同一基准下做测试对比,根据读、写性能等指标来对数据库系统进行排名。
在时序数据库这一新兴热门的数据库类别中,意外的发现排第一名的是咱们国产自研的一个开源数据库 Apache IoTDB。这份榜单囊括了当前主流的时序数据库 InfluxDB, TimeScaleDB, QuestDB 等,IoTDB 是榜上唯一的一个国产时序数据库。
(benchANT 时序数据库排行榜数据情况)
可以从榜单中的数据看到,测试结果基于基本配置(Vanilla)和进阶配置(Tuned)两种预置参数,进阶配置主要调整了内存等参数。
在同样的配置下,Apache IoTDB 写入吞吐量为其他时序数据库的 1 倍至 7 倍。面对存储时序数据时经常遇到的大体量、高频次等挑战,这样的写入速度无疑可以保障数据写入的实时性。
IoTDB 存储占用仅为其他时序数据库的 1/1.5 至 1/35,意味着当大量时序数据被写入数据库后,IoTDB 还可以实现更高的压缩比,用更低的资源和成本存储这些数据。
IoTDB 的查询延迟仅为其他时序数据库的 1/3 至 1/97,也就是说,在相同的数据量中查询数据时,IoTDB 能够更快速地返回查询结果。
最后,benchANT 将 AWS 云服务器资源的成本纳入考量,以读取吞吐量除以每月设施成本,计算出各时序数据库成本效益,而 IoTDB 的成本效益是其他数据库的 1 倍至 22 倍,代表能够用低成本获得更高的性能表现。
总的来说,在榜单中列出的 5 个性能指标上,IoTDB 呈现出了压倒性的优势。
(benchANT 时序数据库排行榜各数据库性能对比)
benchANT 做的时序数据库排行基于一个开源测试工具 TSBS,全称 "Time Series Benchmark Suite",意思就是“时间序列基准测试套件”,是海外知名的时序数据库厂商 Timescale 开发的。
这套工具开发的目的,就是提供一个可以测试时序数据库写入、存储、查询、计算、结果汇总等功能,并且可以直观比较时序数据库性能的基准测试平台。
其实这套测试基准已经被很多时序数据库厂商使用,并生成测评报告对外公布,包括 InfluxDB、TimescaleDB、VictoriaMetrics、QuestDB、ClickHouse 等等。
(Timescale 官网的 TSBS 介绍)
但是各家的测试可能会有“找个自己最优势的场景跟别人的弱势场景比”的问题。而 benchANT 测试的不同之处在于,他们试图把一碗水端平,根据 TSBS 标准下的 DevOps 场景,设置统一的预置参数(工作负载、集群大小等),然后将各数据库部署在相同的 AWS 云环境中进行测试,以得出一个客观的测试结果。
benchANT 在工作负载和资源设置两方面都做了限定:工作负载是在不同的服务器“系统”中,记录内存、CPU 等 9 种指标类型,及具体的测量值。同时,数据集大小、批量插入数据量、查询数据量等变量是维持恒定的,这样就可以直观的观察硬件配置不同时,时序数据库能不能维持好的性能表现。
资源设置则是分为“xSmall(极小)”和“small(小)”,其实就是将实例大小和集群大小合并为一个属性。集群大小为 1 节点、实例大小为“小(small)”,那么资源配置就是极小;集群大小为 1 节点、实例大小为“中等(medium)”,那么资源配置就是小。实例大小的衡量则由 CPU、内存、磁盘参数等多个配置决定。
云环境统一,工作负载恒定,资源设置、预置参数可选,这样控制变量,同时又可以观察不同场景的性能表现,得出的写入吞吐量、存储占用、查询延迟等等数据,参考性是可以保障的。
(benchANT 对于工作负载、资源设置情况的说明)
作为关键的“卡脖子技术”,国人自研的时序数据库在认可度高的标准测试下,领先了其他发展更早、普遍认知度较高的产品,位居第一,实属不易。
时序数据库虽然是 2010 年之后的产物,发展时间并不算长,但根据 DB-Engines 官网 2023 年 7 月的流行度数据,时序数据库流行度在所有数据库类别中排名第二。
随着物联网和工业 4.0 的普及,更多行业开始产生以时间戳为主要特征的数据,包括传感器数据、日志数据、设备监控数据等类型。这些数据具有很高的实时性,和明显的以时间为序列的特征,所以被称为时序数据。
而因为这些时序数据的数据体量非常大、上报的频率特别高,带来了写入效率、存储成本、查询耗时这些新的性能问题,那么就需要一种专门管理这类数据的数据库来解决问题,时序数据库就应运而生。
对于时序数据库领域的研究,国内团队的发展并不算很快,但通过对 IoTDB 的深入调研,可以发现这其实是一个已经经历了十几年沉淀与打磨的国产全自研数据库产品。
(Apache IoTDB)
2011 年,清华大学软件学院参与了国家“ 863 计划”课题,在处理工业领域产生的时序数据的过程中,发现了传统技术与工业物联网应用之间一系列的功能与性能问题。
能不能开发一个更适合时序数据的数据库管理系统呢?参与课题的团队成员产生了这样的想法并付诸实践,在 2015 年正式开始了“清华 IoTDB”时序数据库管理系统的研发。通过自研的列式紧致文件存储格式 TsFile 等针对物联网应用难题的技术突破,IoTDB 优异的写入、存储、查询等性能已经初见端倪。
2018 年,IoTDB 正式成为全球最大的开源软件基金会 Apache Software Foundation 的孵化器项目,这也就有了我们现在称呼的 Apache IoTDB。协作开发也成为了促进 Apache IoTDB 功能迭代和用户触达的重要方式。
2020 年,Apache IoTDB 从孵化器毕业成为顶级项目(Top Level Project),同时也意味着,IoTDB 建立的规范、多元的国际开源社区受到了权威认可。
(benchANT 官网发布 IoTDB 位列榜单第一)
从 2011 年的项目构想,到 2022 年的生态完善,IoTDB 其实已经走过了超过 10 年的历程。而其之所以能不断进步,就是因为它能够从高校、产业、研究领域的多个方向,提炼出时序数据库主要的痛点与需求点,并联合社区内的贡献者与管理者,针对物联网的典型应用场景,持续的进行核心技术的优化。
截至目前,IoTDB 已在 ICDE、SIGMOD、VLDB 等国际数据库顶级会议上累计发表论文超 20 篇,其中包括今年 ACM SIGMOD 会议上进行报告的《Apache IoTDB: A Time Series Database for IoT Applications》,代表着 IoTDB 作为中国时序数据库,在数据库领域方面的研究实力、学术水平被国际数据库管理领域的权威学者所认可。
同时,IoTDB 已经应用在了超 1000 家的工业企业中。这些行业覆盖了钢铁冶炼、石油化工、飞机制造、智慧电厂、城市交通运输等等,国内应用企业包括国家电网、中航成飞、中核集团、中国中车等,并且在国外推广应用到了西门子、德国博世、日本小松等企业,国产时序数据库的应用版图在不断扩大。
从 IoTDB 的身上可以看到,经过十余年的发展,中国的时序数据库在技术、应用、开源方面的成果,已经打破了国际时序数据库垄断的局面,并在高认可度测评工具的结果对比中,超越了国际时序数据库的性能。benchANT 时序数据库排行榜第一名属于国产时序数据库,体现了中国时序数据库硬核实力。
微信扫码关注该文公众号作者