国产开源大数据平台TD全面剖析
扫描二维码
随时随地手机看文章
近期,IDC 对物联网支出作出预测,2019 年全球物联网支出将达到 7450 亿美元,IDC 报告表明,各行业的物联网解决方案支出占比持续提升,物联网的预期增长仍然很高。物联网的下一章刚刚开始,在 涛思数据 创始人陶建辉看来,未来 5 年内,世界上 90% 的数据都会是物联网采集的数据,于是他们打造了 TDengine。这是一个专为物联网、车联网、工业互联网、IT 运维等设计和优化的大数据平台。除了高性能的核心时序数据库功能,TDengine 还提供缓存、数据订阅、流式计算等功能,旨在最大程度地减少研发和运维的工作量。从 7 月 12 日在 ArchSummit 全球架构师峰会(深圳站)2019 宣布开源至今两周时间,TDengine 开源项目 在 GitHub 上已经收获了超过 6800 个 Star,Fork 数超过 1700,在业内引发热议。
InfoQ 记者有幸在 ArchSummit 全球架构师峰会(深圳站)2019 现场采访到了涛思数据创始人陶建辉,听他分享 TDengine 性能做到 Hadoop 十倍背后的技术创新、TDengine 开源的初衷以及未来对 TDengine 商业化推广和开源社区的规划。
InfoQ:您好,非常感谢您参加 ArchSummit 全球架构师峰会(深圳站)2019 的视频采访,首先请您做一下简单的自我介绍,包括您的工作经历和创业经历。
陶建辉:大家好,我叫陶建辉,我是涛思数据的创始人。今天很高兴来到现场与大家互动。我是 86 年考上大学,94 年到美国留学,97 年开始在芝加哥摩托罗拉工作,后来又到了 3Com 公司。我在 2008 年回到北京创业,前面做过两家创业公司,一个叫和信,做的是手机实时消息推送服务,后来这家公司被联发科收购了;13 年我又重新创业,做了一家做智能硬件的公司,叫快乐妈咪,主要是做母婴健康大数据服务平台,这家公司在 16 年年初被太平洋网络收购了。然后我休息了一年。我觉得物联网一定会发展起来,随着数据量越来越大,需要一个新的方式来处理物联网采集的海量数据,这是一个机会。再结合我前面那家创业公司的经验,我觉得我还没老。那时候,我正好 49 岁,我觉得我可以自己做,而且我认为现在大家的处理物联网数据的方法不太合适,我找到了一种更好的创新方法来存储和处理这些物联网数据,因此我就自己一个人写了两个月代码,来证明我的想法是对的。然后我就开始融资、组建团队,涛思数据就是在 17 年 5 月份正式成立的。
InfoQ:所以 TDengine 这款产品一开始的定位就是专门为物联网而设计的吗?
陶建辉:物联网是一个很宽泛的概念,包含了车联网、工业互联网、IT 智能运维监测等,只要通过各种机器设备传感器采集数据,都属于这个范畴。因为我上一家创业公司做的是智能硬件,需要采集各种各样的数据送到云端,做健康数据的分析。后来我又了解了很多物联网项目,包括工业互联网、智能硬件、智能家居等项目,这里面共性的东西实际上就是数据的处理,怎么存储、怎么高效地查询计算和分析。涛思数据这两年多的时间,一直在做的就是这样一件事情。
InfoQ:TDengine 是什么时候正式对外推出可用产品的?从 TDengine 开始研发,到推出对外可用的产品,一共花了多长时间?
陶建辉:我们第一款产品真正可以交给用户使用是在 2018 年 8 月份,从一开始研发到对外推出可用的产品大概花了一年半的时间。
InfoQ:在 TDengine 的研发过程中,团队遇到最大的困难是什么?这背后有什么故事可以跟我们分享吗?
陶建辉:最大的困难就是技术,技术挑战相当大。我们这款产品看上去很简单,不就是把各种采集的数据存储起来再做查询,实际上因为这属于底层软件,所以它的技术挑战很大。比方说我们经常要做一百亿条记录的插入、查询测试,这一百亿条记录如果中间丢了一条,你要找出丢的是哪一条、为什么丢,涉及的模块很多,技术挑战相当大。
我可以分享一个我们在 TDengine 开发过程中的小故事。因为我自己在做这个产品,它主要强调性能和易用性这两个方面。如果性能不够好,那它就没有代替其他软件的可能,我就举一个性能的例子。有一次我们团队一个工程师,改了一行代码,他改的那行代码还是我写的,大家都没有意识到,这行代码让整个产品的性能下降了一半都不止。整个团队都急死了,花了整整一天时间,回滚代码查看,最后才找出原因并修复了问题。
InfoQ:在性能测试报告中,你们对比了 TDengine 和 MySQL、ClickHouse 等开源数据库产品的读写性能,这是否意味着这些产品是 TDengine 的对标对象?
陶建辉:虽然 MySQL、ClickHouse 这些是大家更熟悉的开源数据库产品,但我们真正对标的是测试报告上写的 InfluxDB、OpenTSDB,包括阿里的 HiTSDB 等产品,这些才是我们真正对标的产品。但是也不完全公平,因为这些产品只是一个数据库。TDengine 的核心功能也是个数据库,但除了数据库之外,TDengine 还支持很多其他功能,比如说大数据处理所需要的缓存、消息队列、流式计算等一系列功能。我们的性能测试报告针对的是数据库这项功能,因为数据库测试相对标准化,一般看的就是插入速度、查询速度,所以我们基于此做了对比。目前 TDengine 在大数据领域还没有真正完全对标的对象,我们是全球第一个真正做物联网大数据平台的产品。 这也是为什么我们不把自己叫做数据库的原因。