凭借着较早的入局时机, InfluxDB 在物联网、时间序列数据场景下成为了第一批流行的时序数据库,作为一些企业的首选数据库之一被广泛应用,但经过这些年的发展,伴随着时序数据库产品种类的增加,竞争的增大,InfluxDB 也成为了越来越多企业的“弃子”。本篇文章将会从实践出发深究一下其中原因。
在物联网等技术的快速发展下,大规模设备所产生的时间序列数据爆发式增长,企业在调研时序数据库时,尤其看重数据库性能的强弱。聚焦“智慧环保”物联网应用研发的中科惠软,此前就面临着海量时间序列数据的查询分析难题,希望能调研到一款合适的时序数据库,助力产品发现深层次的环境问题,从而帮助污染源企业节能减排,增加效益。
由于 InfluxDB集群 版本需要收费,最终他们选择了单实例进行对比测试,开始准备两台配置参数一致的测试服务器进行多方面的应用场景、稳定性以及性能测试。
以上中科惠软所做的性能测试结果(仅供参考),InfluxDB 在写入、查询等方面的性能均逊于同类型产品 TDengine,且在中科惠软的测试中还发现,InfluxDB 需要借助 Kafka、MQTT 等消息队列中间件实现批量写入,从而提升数据的写入性能。综合智能环保项目多方面应用场景测试,以及后期智慧环保领域系统国产化需要,中科惠软最终选型了 TDengine 来解决海量时间序列数据处理难题。
我们在做客户调研时还发现,很多用户在选型时,弃选 InfluxDB 的原因之一是其开源版本只支持一个节点,即 InfluxDB集群功能未开放,还存在前后版本兼容性问题,非国产化产品。以吉科软公司为例,他们最初在车辆监管项目中使用的就是 InfluxDB+Redis 的组合,但二期项目需要重新升级改版,不得不考虑业务规模的快速增加以及 InfluxDB集群功能不开放导致的单节点问题。
事实上,为了积累关注度以及使用人群,InfluxDB集群在最初也是开源状态,后面在积累到一定的知名度后,InfluxDB集群又实行了闭源,从开源精神出发,这在一定程度上也是伤害了一众投入关注和精力的开发者。但从公司业务角度而言,InfluxDB集群功能闭源也无可厚非,满足了企业发展商业化的需求。
但不得不说,InfluxDB集群从免费获取到收费获取,成为了其寻求商业化变现的最有效途径,也让其失去了一部分的拥趸。而且对于一众中国企业来说,尽管花费了高昂的价格购买了 InfluxDB集群版本,但其产品性能是否真的能够支撑自身业务的发展还是一个谜题,且作为一款外来的时序数据库产品,InfluxDB 的本地化服务也十分有限。
综上所述,InfluxDB集群不开放且服务费用高昂,本地化服务质量低以及产品性能不配位几大原因,也算是导致 InfluxDB 在中国企业中的应用逐年降低的“元凶”。