经过春节假期的封闭和攻关,我们完成了FreeTSDB-v0.1.1(https://github.com/freetsdb/freetsdb)开发,并在二月份最后一天进行了发布!
继FreeTSDB-v0.0.2彻底解锁了分布式能力(针对META节点和DATA节点数据特点的不同,设计了2种不同的分布式模型,META节点的CP模式,DATA节点的AP模式,并支持水平扩展、自定义一致性级别等),在v0.1.1版本中,我们将性能和生态对齐了InfluxDB。
FreeTSDB与InfluxDB的性能是一致的,而且相比其他第三方InfluxDB集群,FreeTSDB和InfluxDB一样,都是遥遥领先的。比如,基于公开数据,我们将FreeTSDB/InfluxDB和阿里云的InfluxDB云服务做了对比。
在阿里云ECS(16 vCPU 32 GiB, Ubuntu 18.04 64bit),FreeTSDB的写性能与InfluxDB是一致的,386985.67 point/sec,约是阿里云InfluxDB服务(16核64G :~ 150000 point/sec)的2.58倍。
聊到这里,很多小伙伴可能会发现“作为InfluxDB企业版的开源替代,FreeTSDB的大功能基本开发完成了”,同时也很好奇FreeTSDB的后续规划,这也是我接下来想和大家聊聊的。
俗话说,“不忘初心,方得始终”,那么FreeTSDB的初心是什么呢?
FreeTSDB的初心是“将分布式、高性能、高并发做到极致”,作为一名技术人,FreeTSDB是作为《InfluxDB原理与实战》配套程序启动的,承载的是我们的技术理想和技术表达。
我们认为技术不应该只是一堆文字名词的堆砌,也就是说,我们坚决反对和不认可PPT做产品。
我们认为文字是一种表达,代码也是一种表达,但有些内容只能通过代码来表达,仅仅文字是表达不出的。我们选择了“海量数据、实时、数据库”这个极其复杂的场景作为“农田”,通过代码表达技术、观点和思考,分布式、高性能、高并发、架构设计、实时计算、存储引擎、低延迟查询等。
所以,我们接下来会更换技术栈,并重构存储引擎等核心模块,目标在读、写、时间序列线等核心指标能获得数量级提升,并将FreeTSDB的高性能、高可用的实时计算、存储引擎等核心能力,拓展到时序数据之外的数据场景,支持更丰富的系统形态,赋能更多的场景和业务。
另外我想说的是,初心是理想,但实用、务实才是我们的目标,我们希望能解决海量时序数据场景的挑战,协助大家打造真正的实时监控系统和时序数据中台。
比如我最早接触InfluxDB,也是为了解决实际场景的问题,打造海量时序数据中台,实现实时高效的接入计算能力、低成本的存储能力、低延迟的查询能力等。
当我们在互联网上和大家交流讨论时,也接到了很多来自实际场景的需求,比如阿里某童靴:
我做监控的,选型成本第一,没有压缩时间的都不能购买
期待有个和官方对齐的分布式版
我们也测试过XXX那个高可用版本,性能不行,不如单机,所以只能无奈分库分表,但是中间层做了半年做不出来
这个分布式真的是硬核技术,期待beta早日出来,我马上上
再比如,来自工业互联网场景疑问和需求:
influxdb数据库如何和plc通讯? 或者说如何用influxdb数据库实时监控plc的工作状态?
这些问题的解决和需求支撑,也是FreeTSDB后续路线图中的重中之重。
所以,接下来FreeTSDB会更加开放,它会在在兼容InfluxDB生态的同时,联接其他开放的生态和系统。我们会在生态和场景上持续深耕,服务好来DevOps、IoT以及工业互联网场景的需求,实事求是、脚踏实地的解决实际场景的问题,赋能业务!
最后我想说的是,如果你在时序数据场景(DevOps、IoT、工业互联网等)上面临痛点和挑战,包括但不局限于实时计算、高效存储、低延迟查询、OLAP等,欢迎和我们联系,我希望FreeTSDB能帮助到你!
延伸阅读:
《为什么是InfluxDB | 写在《InfluxDB原理和实战》出版之际》
《我想和你聊聊:FreeTSDB不只是InfluxDB集群》
欢迎交流讨论:
微信公众号:influxdb-dev
FreeTSDB技术交流群(QQ):663274123