作者 | 陶建辉

转载自爱倒腾的程序员(ID: taosdata)

导读:7月12日,涛思数据的TDengine物联网大数据平台宣布正式开源。涛思数据希望尽最大努力打造开发者社区,维护这个开源的商业模式,他们相信不将最核心的代码开源,任何软件都将无法赢得市场,希望与众多的开发者通过技术创新为物联网、工业互联网等行业提供全栈、高性能、低成本的大数据平台。涛思数据创始人陶建辉在本文中自述了开源的心路历程。

两天前7月12号,我对外正式宣布TDengine, 一款专为物联网定制打造的大数据平台软件,正式开源,将我和涛思数据团队两年多的时间写下的10多万行C语言代码放在GitHuB上,分享给全球的开发者。

开源的代码里,有我自己亲手写的3万多行C代码,包括我自己一直很得意的定时器,RPC, 内存管理等一系列工具类程序。更重要的是,我们将最核心的存储引擎、计算引擎完全开源出来。存储引擎是我亲手写的,是我仔细分析物联网数据特点后写出来的,因此具有超强的数据读写性能。计算引擎是团队里的廖博士写的,创新的解决了多表聚合的性能问题。宣布开源,而且是将核心代码开源,对于我个人,对于涛思数据,都是跨出了最重大的一步。宣布前我还在忐忑不安,但宣布后,如释重负,轻松了不少,因为终于做了一件想做,但又不敢做,一直犹豫是否要做的事情。

从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源码,用起来。如果你发现什么问题,我只会高兴,不睡觉都想尽快去解决它。如果喜欢,更欢迎参与到我们这个项目中来。五年之内,世界上90%以上的数据都将是物联网采集的数据,如果我们一起开发出一个极为高效的数据处理引擎来处理这些数据,而且为全球开发者所使用,你是贡献者之一,那是一个多么自豪的事情。

钱再多,也难让人在历史上留下痕迹,但一幅好的作品却可以传承,让后人好好的品味。愿我领头开发的TDengine成为传世之作,Leave a dent in the world!

(*本文为 AI科技大本营转载文章,转载请联系原作者

精彩推荐

“只讲技术,拒绝空谈!”2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。

目前,距大会盲订票限量发售结束仅剩2天~扫码购票,领先一步!

推荐阅读

  • 追溯XLNet的前世今生:从Transformer到XLNet

  • Fast.ai:从零开始学深度学习 | 资源

  • 基于GEMM实现的CNN底层算法被改?Google提出全新间接卷积算法

  • 10个简单小窍门带你提高Python数据分析速度(附代码)

  • Python手写线性回归算法

  • 程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!

  • 抖音微博等短视频千万级高可用、高并发架构如何设计?

  • 为何 5G、物联网和区块链,可以成为科技铁三角?

你点的每个“在看”,我都认真当成了喜欢

比Hadoop快至少10倍的物联网大数据平台,我把它开源了相关推荐

  1. 比 Hadoop 快至少 10 倍的物联网大数据平台,我把它开源了

    两天前 7 月 12 号,我对外正式宣布 TDengine, 一款专为物联网定制打造的大数据平台软件,正式开源,将我和涛思数据团队两年多的时间写下的 10 多万行 C 语言代码放在 GitHub 上, ...

  2. GitHub开源比Hadoop快至少10倍的物联网大数据平台

    TDengine是一个开源的专为物联网.车联网.工业互联网.IT运维等设计和优化的大数据平台.除核心的快10倍以上的时序数据库功能外,还提供缓存.数据订阅.流式计算等功能,最大程度减少研发和运维的工作 ...

  3. Hadoop or TDengine,如何做物联网大数据平台的选型?

    Hadoop or TDengine,如何做物联网大数据平台的选型? 1. 大数据时代 大数据时代,大家都在说什么叫大数据,强调的就是一个"大"字,人们期望对海量数据的挖掘和运用能 ...

  4. 为什么物联网大数据平台,使用TDengine,可不要redis, kafka, spark等软件?

    为什么物联网大数据平台,使用TDengine,可不要redis, kafka, spark等软件? TDengine是一高效的时序空间大数据处理引擎,因为充分利用物联网.车联网.工业互联网等场景的数据 ...

  5. 官宣 | TDengine物联网大数据平台正式开源

    2016年12月,TAOS Data开始正式筹备,建立并验证底层架构.2017年5月,北京涛思数据科技有限公司成立,一群来自中国科大.中国科学院.上海交大.美国密歇根大学.马里兰大学等知名学府或机构的 ...

  6. 打造泛在电力物联网大数据平台

    本文是涛思数据创始人陶建辉在<国家电力>2019年第04期首次发表的文章,涛思数据希望在泛在电力物联网大数据平台中,发挥自己的技术优势,贡献一份力量. 建设泛在电力物联网,是国家电网有限公 ...

  7. 物联网大数据平台软件开发架构案例解析

    物联网大数据平台软件开发架构案例解析 有人说物联网是引领信息技术的第三次浪潮. 第一次浪潮是个人电脑的出现,开创了信息时代的第一次革命,此次浪潮成就了微软.IBM等巨头. 第二次浪潮是以信息传输为特征 ...

  8. 物联网大数据平台TIZA STAR架构解析

    声明:本文为<程序员>原创文章,未经允许不得转载,更多精彩文章请订阅2016年<程序员> 作者:孙杰,天泽信息研发总监,负责物联网大数据平台的研发和管理,同时担任江苏省互联网协 ...

  9. 分享一个 物联网大数据平台软件开发架构案例

    物联网大数据平台软件开发架构案例解析 有人说物联网是引领信息技术的第三次浪潮. 第一次浪潮是个人电脑的出现,开创了信息时代的第一次革命,此次浪潮成就了微软.IBM等巨头. 第二次浪潮是以信息传输为特征 ...

最新文章

  1. iOS黑科技之(CoreImage)静态人脸识别(一)
  2. python3.8.2安装教程-在服务器上安装python3.8.2环境的教程详解
  3. html怎么用ui打开,HTML5教程 如何使用原生UI
  4. elasticsearch原理_花几分钟看一下Elasticsearch原理解析与性能调优
  5. memcached客户端_分布式算法真是吊炸天 – memcached - 第287篇
  6. 超前进位加法器实验报告_干货 | 加法器与反相加法器原理解析
  7. LeetCode Contains Duplicate III
  8. 三种方式读取项目属性文件
  9. Linux Redhat 6.4 LAMP 平台搭建
  10. 上海市XXX区信息委门户网站集成项目总结
  11. 2018-2019-2 网络对抗技术 20165322 Exp8 Web基础
  12. 淘淘商城第107讲——添加购物车
  13. C#中IntPtr打印输出
  14. 广域网、局域网和城域网(ip城域网和因特网)
  15. Python实验室-实现阿拉伯数字的大小写转换-解法1
  16. echarts 词云图
  17. 字节(B)、千字节(KB)、兆字节(MB)、积 (GB)字节之间的换算
  18. Contest chair of English humor speech contest-2013-8-30
  19. [数学 FFT] Codechef July Challenge 2017 #APRPS Irrational Root
  20. 关于人生的15句话——特别现实的讽刺性句子

热门文章

  1. 常用的JQuery数字类型验证正则表达式
  2. 360度看IT行业--3月12日西安工程大学讲座
  3. oracle netca 乱码,Oracle 11g 安装及netca,dbca乱码之解决
  4. 仅展示近三天的动态设置_微信朋友圈设置三天可见了吗?
  5. ROS image_transport使用笔记
  6. 新建ROS工作工作空间
  7. 【转】linux服务器性能查看
  8. idea(2)快捷键
  9. oracle终止用户会话
  10. react遇到的各种坑