正文 1141 字,预计阅读时间 3 分钟。
大唐先一科技是一家聚焦电力、能源行业系统解决方案的公司。所以,一款简单易用的实时数据库是不可或缺的。公司服务的电厂、分子公司遍布全国,因此各种实时数据库也是五花八门,给运维人员造成不小的困难。借着近年来大数据技术的发展,公司曾借助开源技术开发完成了一款分布式实时数据库XDB5.0。在经历压测后该款数据库也是成功的部署在了集团公司和各大分子公司,性能稳定性也是获取了客户的认可。但也存在一个问题,涉及技术众多、部署要求高、不易于维护。于是在2020年初,公司开始寻求新的解决途径,IoTDB由此进入了我们的优选方案。在近一年多与IoTDB开发团队反复的沟通、测试、验证中也见证了IoTDB的成长点滴。
在2020年初,IoTDB还没有Attribute、Tag的概念,区间删除也还暂未支持,还有降频采样过程中插值方式、以及last查询等功能都有点小遗憾。但在和IoTDB开发团队进行了实际应用场景的沟通后,开发团队即刻在后期的开发迭代中依次实现了各个功能点,这些功能点的实现直接让我们在原来XDB5.0的技术架构上去除了redis、opentsdb、hbase、hadoop等组件。既然这些重量级组件都去除了,那我们就决定直接用IoTDB得了吧。于是基于IoTDB的XDB6.0诞生,由于其强大的API,在开发过程中砍掉了之前30%的工作量。不光在开发,部署过程也简单到执行一个脚本即可完成。
这些功能实现后,大家就重点关注了性能和稳定性。目前,先一科技以一台4核的Intel Xeon E3 16G内存工控机可以测到单一存储组、30万测点、12个用户并发5秒间隔读写(6个读last,6个写,每次写5万),还有3个随机读近10天的归档数据,可以稳定运行到目标15天以上(更长的时间没在进行测试,但据各项资源指标监控,应该是可以无限平稳运行下去)。
下面是测试组提供的测试结果:
测试总结
在公司局域网内,30万标签点级别压力下,通过代码和配置调优,写实时、读实时、读历史三个接口的性能测试和稳定性测试基本达到测试通过标准:
90%的响应时间在2秒以内;
事物成功率为100%;
服务器CPU、内存、网络均正常。
接下来随着电厂IT系统升级改造以及国产化替代方案的出台,基于IoTDB的XDB6.0将会被广泛应用到各大电厂,替换之前老旧的实时系统。由于其稳定性和易用性,很多实施人员都开始点名用XDB6.0系统,省心啊!
当然,IoTDB目前仍然有一些待完善的地方。之后IoTDB分布式正式推出后,会在更多场景得到应用,比如替换集团公司目前仍在用XDB5.0系统。我相信,一堆优秀的人干一件事,没有做不好的道理。假以时日,一款在工业物联网领域到处开花的时序数据库终将出现!