新智元推荐
来源:爱倒腾的程序员 作者:陶建辉
整理编辑:张佳
前几天,陶建辉对外正式宣布TDengine,一款专为物联网定制打造的大数据平台软件,正式开源。陶建辉将他和团队两年多的时间写下的10多万行C语言代码放在GitHub上,分享给全球的开发者。
开源的代码里,有陶建辉自己亲手写的3万多行C代码,包括他一直很得意的定时器、RPC、内存管理等一系列工具类程序。更重要的是,他们将最核心的存储引擎、计算引擎完全开源出来。
存储引擎是陶建辉亲手写的,是他仔细分析物联网数据特点后写出来的,因此具有超强的数据读写性能。计算引擎是团队里的廖博士写的,创新的解决了多表聚合的性能问题。宣布开源,而且是将核心代码开源,对于陶建辉个人和团队,都是跨出了最重大的一步。
宣布前,陶建辉还在忐忑不安,但宣布后,如释重负,轻松了不少,因为他终于做了一件想做,但又不敢做,一直犹豫是否要做的事情。
陶建辉
不安于现状,每天12小时,连续两月写出18000行代码
1984年,高一的陶建辉写下了第一个Basic语言程序,到现在,35年已经过去。在这35年中,陶建辉进中国科大学流体力学、天体物理,后去美国留学,进芝加哥Motorola、3Com等公司工作。2008年,陶建辉回北京创业,开发了无数的产品。
从编程发烧友,到专业的软件工程师、高级工程师、架构师再到CTO,CEO,一路走来,可以说是典型的IT男发展路线。
2016年底,休整一年后,陶建辉看到物联网大数据的技术挑战和市场机会,虽然当时已经快50岁,但他实在不想游山玩水结束后半生。
于是,抱着“Leave a dent in the world”的想法,陶建辉再次走向战场,并且冲在了最前线。
一个人呆在家里,每天12个小时,连续两个月时间,写了一万八千行代码,写出了一个高效的时序数据存储引擎,证明出他设计的数据模型能把数据插入、查询速度提高十倍以上。
随后获得明势资本、蛮子基金的天使投资,组建团队,2017年6月陶建辉正式成立自己的数据公司。
在团队的努力下,2018年8月,公司发布了TDengine的第一个商业版。凭着产品超强的性能,简单、易用、易学的特点,在没有任何销售人员的情况下,就获得了将近十个付费客户,涉及到智慧城市、数控机床、新能源、车联网、IT运维等行业,而且最近又在电力行业实现突破。
在所有场合,当陶建辉介绍TDengine的时候,都是特别的自豪,因为这个超强的产品是他与团队一行一行代码码出来的,是无数个日夜debug出来的,不仅远超国内的产品,更是能把全球排名第一的同类产品拉下马。
但陶建辉不时陷入沉思,50岁的年龄,每天还没日没夜写代码,debug程序,见客户的目的是什么?什么才是一个程序员最大的回报?
要开源,就一定要开源最核心,最有价值的部分
一段程序好比一个作品,一个作品只有有人欣赏才有价值,一段程序只有更多的人使用才有价值。
这35年里,陶建辉开发过很多产品,但一直让他念念不忘,总给人提及的是1991年他为中国科大LB膜实验室开发的LB膜天平,还有1993年他为姐姐开发的财务软件。因为这两个软件,在将近30年后,还有人在天天使用。
中国科大LB膜实验室的老师同学,还有陶建辉的姐姐,打开电脑,看到的还是他的名字。这件事让陶建辉兴奋和自豪,因为他们证明了他的价值。
怎么让更多的人使用上TDengine?怎么让物联网、车联网、工业互联网等行业普遍采用的Hadoop一套大数据处理体系被尽快淘汰掉?作为一个基础软件,一个中间件产品,怎么能在全球范围推广,而不是仅在中国自吹自擂?陶建辉自然想到了开源。但开源什么,不开源什么,与很多朋友交流后,他举棋不定。
后来,陶建辉终于想明白了,要开源,就一定要开源最核心,最有价值的部分。因为最核心的部分不分享给大家,大家采用你的产品就没有任何意义,毕竟,市场上有太多的可替代的方案。只有将自己最美、最有吸引力的地方充分展示出来,才能吸引更多的人来使用。
因此陶建辉最后决定将最核心的存储引擎、计算引擎、还有成套的工具完全开源。但怎么让更多人的领会到他们的架构呢?
陶建辉决定花大力气写文档、把他们技术实现细节写出来,而且这相当程度上能够回答众多的关于性能的质疑。
开源的目的,不仅是想给中国的开发者用,还希望全球的开发者来用,因此又花时间写出整个英文文档。
TDengine只是一个中间件,不是最终应用,因此团队又开始写应用案列,结合车联网、IT运维、数控机床等实际场景,将TDengine怎么使用用中文、英文写出来。
一百亿记录查询的现场演示,吸引了很多程序员
追求极简,用极少的代码带来极致的用户体验
从高中起,陶建辉写程序的癖好就是用极少的代码量去追求极致的运行效率和极致的用户体验。
2008年,陶建辉创办了一家金融公司,他自己写的WindowsMobile的客户端只有18K,就能通过移动互联网免费收发短信、彩信和邮件。2013年,他创办了一家专注于母婴行业的智能硬件公司,胎心算法程序不到600行源代码。
TDengine是陶建辉这一风格的延续,没有采用任何第三方组件,1.5M的安装包就将一个物联网大数据平台搞定,从下载、安装到运行,不会超过5秒钟。用陶建辉自己的话说:
要是有程序员仔细研究我们源码,看我们是怎么做到的,我会特别的开心。要是有程序员能把我这套方法借鉴过去,把他现在臃肿的系统大幅裁剪,把性能大幅提升,那我更会心花怒放。昨天有人在微信群里告诉我,说RPC模块写的高效简洁,准备采纳,真让我有点得意忘形。
写财务软件,LB膜天平程序时,陶建辉是一个人的战斗,而这次TDengine是一个团队在战斗。为了开源,团队备战了一个月时间。
团队中90后洪泽、江燚总担心文档写的不清楚,不够仔细,让大家看不明白,因此不停的改,廖博士总想着代码要如何规范,如何让产品更稳定,性能对比测试文档的文字都一丝不苟,胜亮、李晖想着怎么让配置参数更加简单、怎么让安装过程更加顺利,连团队里唯一的女生虽然不写程序也激情高涨,为程序猿们摇旗呐喊。
而最让陶建辉开心的是,他刚刚高中毕业的儿子,主动承担了整个新版网站的开发,从设计、前端、后台、浏览器适配、数据分析到搜索引擎优化,都是他儿子一人搞定,而且不放过任何一个细节,无论是单词、语法错误,还是排版的样式,都细细研究。有这样的团队,陶建辉心满意足。
宣布开源之前,陶建辉没有去征询投资方的意见。但宣布之后,明势资本的明明、Neil等都第一时间转发消息,主动问他需要什么样的支持,蛮子基金、永辉瑞金和温青投资也都是第一时间支持转发,陶建辉心怀感激。
只要开源的代码真正创造了价值,那自己就是赢家
写了35年的程序,终于把自己的看家本领晒了出来,共享出来。两年多的时间,近二十万行代码,放在了GitHub上。好多朋友关切的问陶建辉,开源怎么赢利?
抛开开源的商业模式不提,陶建辉认为,只要他们开源的代码真正创造了价值,有人用,那他和团队就是最大的赢家。
如果30年后,还有人在用TDengine,哪怕只是其中一个模块,其中一个函数,那就是对他们两年多日夜奋战的最大肯定,就是给陶建辉最大回报。他更希望30年后,自己还能对TDengine继续贡献代码,那将是他还未老去的最好证明。
如果大家想支持这个50岁的程序员和他的数据团队,支持源自中国的IT底层核心技术,那就赶快到GitHub上搜索、下载TDengine源码,用起来。如果你发现什么问题,陶建辉表示自己会高兴,不睡觉都想尽快去解决它。
最后,用陶建辉的一句话共勉:
钱再多,也难让人在历史上留下痕迹,但一幅好的作品却可以传承,让后人好好的品味。愿我领头开发的TDengine成为传世之作,Leave a dent in the world!
TDengine资源分享:
https://github.com/taosdata/TDengine
本文经授权引用自“爱倒腾的程序员”
作者:陶建辉
原文地址:
https://mp.weixin.qq.com/s/YMcyeO4FO7Je88F85kdXig