快资讯丨打破中国企业类软件成长的怪圈,我找到了方法!
中国的企业类软件、基础软件能发展起来,并走向全球市场,是中国无数 IT 人的梦想。
(资料图)
上周六(8 月 13 日),涛思数据举行了成立 5 年来的第一次 TDengine 开发者大会,近 400 名开发者和客户来到了现场。大会主旨之一是发布 TDengine 3.0 版,而且我们将其核心代码全部开源。37 万行产品源代码,23 万行测试代码,以及 181 份共 13.6 万字的完整文档,已经全部在 GitHub(https://github.com/taosdata/TDengine) 上公开,供全球开发者下载、查看并体验。
TDengine 是一款时序数据库(Time Series Database,TSDB),3.0 版本完全解决了困扰业界的高基数(High Cardinality)问题,能够支持 10 亿个设备采集的数据,集群规模可以超过 100 个节点。除超强的水平扩展能力之外,3.0 实现了存储计算分离,计算资源与存储资源可以弹性伸缩,采用 RAFT 协议实现数据的一致性来保证系统的高可用,让 TDengine 成为真正的云原生数据库。3.0 重构了计算引擎,更好的支持标准 SQL 查询以及各种时序数据特有的查询,让时序数据的分析变得高效而且简单。3.0 还优化和重构了缓存、消息队列、流式计算的实现,让 TDengine 成为一个真正的极简时序数据处理平台,大幅降低了系统设计的复杂度,降低了运营和维护成本。
TDengine 开发者大会现场
从我 2016 年底写下第一行代码,TDengine 已经走过了 5 年,版本从 1.0 到 2.0,到今天的 3.0。对于时序数据库产品究竟要解决什么问题,我之前已经从技术层面写过一篇博客来阐述:研发了5年的时序数据库,到底要解决什么问题?作为一个从 1984 年就开始写程序的持续创业者,我虽非常享受通过技术来实现创新的过程,哪怕一天 14 小时敲代码也是乐此不疲,但三家公司的创业经历也让我深知,作为一个产品,最重要的是去挖掘并满足“用户需求”。
在企业类软件、基础软件几乎被欧美公司垄断的情况下,中国的企业类软件、基础软件能发展起来,并走向全球市场,是中国无数 IT 人的梦想。我想结合 TDengine 的发展历程,分享一下我的想法。
中国企业类、基础类软件成长的怪圈
中国的企业软件、基础软件的发展一直深陷一个怪圈。
以中美之间的软件对比来作为例子。20 年前,中国的软件都没有美国做得好。但今天,相当多大众类的软件,中国都比美国做得好。比如,微信就比 WhatsApp、Facebook 这类软件好用得多;企业办公软件飞书,就比 Confluence 用起来更舒服。为什么?不是微信、飞书团队的程序员更聪明,能力更强,而主要是中国的用户群大,而且竞争激烈,来自用户端的需求在源源不断地提出,逼迫这些产品快速地迭代升级。
反观企业类软件、基础软件,与欧美相比,中国依然相当落后。为什么?不是中国程序员不想做好或者能力不够,而是由于开发出的企业类软件,普通企业都没有买单能力。有买单能力的大多是政府、国企和军工,而这些单位往往一大堆定制化需求,最后企业类软件公司都变成了做集成、做项目的公司,很难开发出全球使用的标准化产品,难以规模化。一年多前我们团队上线用友财务系统,但没想到做了 30 年财务软件的公司,依然是 BUG 一堆,发票上传就经常有问题。抛开研发管理的问题,我想不是用友研发不努力,核心原因还是与 SAP、Oracle 相比,他们用户数不够,迭代升级太慢。
我相信,中美程序员之间的技能并没有太大差别,即使有差距,经过几个有挑战性的项目,也可以掌握,关键是要交给中国程序员真正的需求和问题,他们一定能学会,一定能解决。TDengine 创始团队的四位程序员,除了廖博士,胜亮、洪泽和我自己都没有研发数据库的经验,但 5 年下来,处理过太多太多的技术问题,在时序数据领域,在全球范围都应该是绝对的专家了。
好的产品不是程序员在计算机面前想出来的,而是用户用出来的,提出问题比解决问题更为重要。而只有拿到足够数量、足够场景的客户需求,得到足够的用户使用反馈,才能真正地不断打磨和迭代产品。支持 10 亿设备的数据采集,看似很难,但仔细分析,是完全可以解决的。
因此,无法短期内获取大量用户和场景,已经成为企业类和基础类软件可以快速且在正确方向前进的最大障碍。但值得庆幸的是,我们找到了开源这个利器。
开源打破怪圈,带来巨变
2019 年 7 月 12 日我们宣布 TDengine 单机版开源,10 多万行 C 语言代码被上传到 GitHub。没想到,我们的开源迎来了开发者社区的热烈欢迎,不到四个月的时间,GitHub 的 star 就达到一万,多次在全球趋势排行榜上排名第一,获得无数的赞美。
但同时,也获得很多专业的批评,有人仔细分析并测试我们代码,认为多线程的处理有瑕疵,高并发大数据量的持续测试一定会撞到问题;有人认为模块结构不清,耦合过重,难以增加新的功能;多维度的聚合分析在一些场景中并不高效;乱序数据的处理效率很低等等。而且还有人发现,我们没有建立起标准的 CI/CD 流程,难以保证质量。
对于一个拥有开放心态的我而言,每每看到这些中肯的批评,我都是很开心,这说明产品还有努力的空间。因此 2019 年 12 月,TDengine 团队正式启动 2.0 的开发。包括我自己在内,8 位程序员日夜奋战,力图把大家发现的这些技术问题全部解决。
2020 年 8 月,TDengine 2.0 正式发布,同时开源了集群功能。全球开发者又一次把 TDengine 推向新的高度。赞美之外,迎来的又是被大家发现的不少问题:虽然乱序插入的效率问题已得到很好的解决,系统稳定性也大幅度提升,但是集群有时不工作;更有人仔细分析我公布的数据同步设计文档,指出里面的设计漏洞;虽然支持 SQL,但支持不够彻底,很多复杂查询做不了;业内普遍存在的“High Cardinality”问题,TDengine 并没有真正解决,虽然能处理五千万台设备的数据,但系统重启的时间至少需要半个小时,无法忍受……
虽然 TDengine 2.0 的设计经过了很多次内部讨论,但依然有些问题没有考虑到。感谢开源社区的反馈,让我们意识到产品还有可提升的空间。因此 2021 年 6 月我决定正式启动 3.0 的开发,不仅要解决大家发现的问题,实现标准的 SQL,将数据库、流式计算、缓存、消息队列融为一体,实现真正可以实用的极简时序数据处理平台,而且还准备瞄准未来,设计出真正的云原生时序数据库。
但经过 1.6、2.0 的发布,我头脑清醒了不少,意识到仅靠几个十倍程序员是不够的,而且底层数据库软件的研发确实如大家所说,就是难,没有那么简单。因此这次我们组织了 40 人的全职研发团队来研发 3.0 版本,测试研发组就有 8 人,开发各种连接器、周边工具的也有 8 人。TDengine 第一个演示版本是我一个人两个月时间开发出来的,1.6 是 4 个程序员的奋斗,2.0 是 8 个程序员的努力,3.0 则包含了40 个程序员夜以继日的汗水。
从开源到现在,GitHub 上报告的 TDengine 的 issue 已经超过一万。TDengine 用户微信群近 20 个,每天都是很活跃,赞誉之外,同样有各种问题和吐槽。如果没有开源,很难让用户指出这些问题,或者这些问题要等到相当多用户相当长时间使用后才会发现。可以说,开源帮我们找来了高质量的设计评审、代码评审、系统测试,开源大大加速了我们产品的迭代和升级。
没有开源,TDengine 不可能在短短的三年,就有 13.9 万的安装实例。没有开源,我们不可能在欧洲、美国、日本、韩国等地收获客户。没有开源,我们产品的 BUG、设计上的缺陷,需求的挖掘,不可能依靠一个小小的团队来发现,也就不可能快速地迭代升级。即使我们都是十倍程序员,也无法与在市场上存在已久的欧美大公司一争高低。
用户才是技术进步的推动力
2016 年底,我想到的最好的 TDengine 的应用场景是汽车、能源和 IT 运维行业。但没想到的是,开源之后,除自己设想的行业外,居然物流、智能制造在用,金融行业在用,煤矿在用,建筑工地在用,石油、石化在用,连钢铁厂、卷烟厂、啤酒厂都在用,农业、畜牧业等很多完全出乎意料的领域都有客户在用,TDengine 的适用场景一下子几乎覆盖了所有的行业。我们公开的 100 多个案例分析里,包括蔚来、理想、零跑汽车,包括西门子、顺丰、中通、大疆、OPPO、京东、TCL、玉溪卷烟厂、中天钢铁、同花顺等众多行业巨头。
收获这么多用户,当然开心。但最重要的是,通过海量的用户,我们了解到了很多想象不到的需求。
2017 年初,我根本没想到时序数据有乱序的可能,而且看到 Prometheus 也不处理乱序数据,因此设计中就没去处理它。但在与车企交流之后,我才意识到乱序是必然存在的,最后只能用补丁的方式来解决,自然运行效率就不行,而且代码也变得丑陋不堪。
我们也没想到过一个设备居然能采集几千个物理量,但在与风电企业交流之后我才发现,一台风机完全可能有 1000 个以上的指标,因此只能修改设计,支持 4096 列。更没想到,物联网上报的数据里有可能有空值,而且比例可能很大,只好又在设计上做出修改。
我们很自豪地推出了连续查询,但在与一些制造业的客户交流后,发现他们还希望有基于状态窗口的聚合,比如某个阀门处于关闭或打开状态时的聚合;在与车联网企业的客户交流后,发现他们希望有基于会话窗口的聚合,比如发动机运转时的聚合。于是我们就推出了 session 窗口与 state 窗口功能。但大部分平台都采用一个流式计算引擎做数据的清洗、计算,整个流式计算平台的维护成本还远超时序数据库,因此我们才意识到光有时间窗口驱动的流式计算还不够,必须支持事件驱动的流式计算,才能把用户数据平台的复杂度和成本进一步降低。
在与能源、制造等行业的用户交流后,我们知道了边云协同不只是概念,而是他们真实的需求,他们需要把某个边缘节点的数据有选择的同步到区域中心,然后再同步到集团。在与金融、证券等行业的用户交流后,我们知道了他们对数据的订阅有过滤的需求。结合各种反馈,最后,我们抽象出了 TDengine 独有的数据订阅功能,API 与 Kafka 一样,但可以订阅一个设备或一组设备(表),可以订阅指定的列,可以对值进行过滤,订阅时还可以做计算,从而大幅降低数据的传输量,降低应用端的复杂度。
如果没有开源,没有海量的用户,我们听到的只是少数客户的声音,而且由于是付费的,他们的需求可能并不代表真正的行业需求。TDengine 推出的极简时序数据处理平台,好几个特殊的分析函数,宽表的支持,多达 128 个标签,包括 JSON 格式的标签,Schemaless 写入等等,完全是倾听了很多开发者用户的声音之后才推出的。
TDengine 开源了 3 年,我深刻地意识到用户才是技术进步的推动力,是一款成功产品背后的英雄。因此在 TDengine 开发者大会上,一开场就先邀请了京东科技 IoT 产品部技术总监闫政和中通科技资深架构师黄国石作为用户代表上台,给参会者分享他们在业务中使用 TDengine 的故事。
你的反馈,我们前行的勇气
中国的基础软件能发展起来并与全球巨头直接竞争,是无数 IT 人的梦想。将 TDengine 打造成全球第一的时序数据库,是我创业时的立下的目标。要实现它,必须认真倾听用户的反馈,用不断提升的产品品质服务好用户。而且我们要看到,中国企业类软件,只占全球 10% 的市场,还有 90% 的用户不在中国,因此 TDengine 必须全球化。我们需要有英文文档、英文技术社区,目的是吸纳更多的用户来使用,发现更多的用户场景和使用的问题,进一步加速产品的迭代升级。
怎么做到?我选择了将核心代码全部开源的方式。
无论你是我们的付费用户,还是使用开源版本的社区用户,不管你在世界的任何地方,只要登录 GitHub (https://github.com/taosdata/TDengine),无论是赞誉的 star、fork,还是提 issue、吐槽、报告问题,都是对 TDengine 的最大支持,都是我们没日没夜不断迭代升级产品的最大动力。
TDengine GitHub 页面
你与我们的任何一次互动,都会推动 TDengine 的技术进步,都会让我们离目标更近一步。
过去,因为有大量用户的支持和鞭策,我们迭代到了 3.0,未来,只要大家继续去下载、体验、测试,并在业务中使用,我们就一定能解决所发现的问题,我们就一定会不惧国际巨头的竞争,将性能、用户体验做到极致,TDengine 就一定会成为时序数据处理的事实标准、成为全球第一的时序数据库。
我特别欣赏丘吉尔的一段话 “Success is not final, failure is not fatal, it’s the courage to continue that counts” 。TDengine 开源才三年的时间,未来的路还很漫长,而且一定会困难重重,但我们唯有坚持走下去,才能实现自己的梦想。
相关推荐:
最新新闻:
- 冠脉支架集采提价超25%,医药行业预期改变了吗?| 见智研究-全球焦点
- 《孤岛惊魂6》开启免费体验12月6日推出异界DLC
- 沉寂十年之后,大宗商品对冲基金强势归来
- 全球新消息丨类银河恶魔城射击游戏《魔骑少女》现已正式上市
- 动态焦点:华硕ROG幻16 2023款曝光 或将搭载13代酷睿和RTX 40显卡
- 损失严重!苹果iPhone产量极具下滑:预计减少5%至10%:环球快看点
- 每日热门:威尔士0-3不敌英格兰!英格兰队世界杯总进球数破百
- 补贴十三年,肥了谁?废了谁?|焦点精选
- 今日播报!高性价比推荐!一线大牌15.6英寸轻薄本3499元秒
- 特斯拉开始从它降价!每千瓦时降约0.35元
- 199元!网易UU加速盒2发布:支持所有游戏主机、VR
- SE公布《浪漫沙加:吟游诗人之歌》8名主角介绍预告:每日速读
- 《街头霸王6》日本相扑E·本田场景音乐欣赏-短讯
- 焦点资讯:任天堂公布《超级马里奥兄弟大电影》第二部预告
- 开发商表示《火星孤征》比《飞向月球》长得多
- 12月PS+会免游戏阵容爆料:《质量效应传奇版》等_观速讯
- 《重生边缘》国际版增加主机版 PC公测12/9-1/15进行:动态
- 天天百事通!《战神:诸神黄昏》幕后系列第七集 展示游戏电影如何构建
- 《最终幻想7:核心危机 再融合》发行预告片公布 全球快资讯
- 时讯:生活模拟游戏《花园小径》将于2023年春季推出
- 精选!世界杯“大嫂团” 内马尔的巴西模特女友热情火辣
- 快讯:影驰全家桶:冬日装机,纯白平价优选,颜值实力兼具
- 每日观察!AMD锐龙7000 3D版未发布即被封神,明年必买
- RGB控制一键超频 耕升GW-SOUL软件详解
- 谷歌手机广告造假 连带广告公司被FCC起诉
- 保护用户不力!Meta欧洲被罚2.65亿欧元_当前要闻
- 《如龙维新极》冈田以藏介绍:沉默寡言的危险剑客
- 天天快资讯:法拉利首款SUV停止接单!已经供不应求了
- 《传送门RTX》12月8日发售 DLSS 3特性展示_天天快看
- 一边办世界杯,一边狂“卖气”!卡塔尔与德国达成一份15年天然气供应协议
- 当前视讯!韩国罢工潮愈演愈烈!与工会谈崩后,政府下达强制开工令
- 出险房企等来了红包_全球快看点
- 【独家】传闻:《使命召唤》以幽灵为主角的内容正在开发
- 快播:苹果AirPods Pro 2耳机-500 只要1399
- 天天通讯!小米12 Pro降到2599 小米12s Ultra也只要4999
- 上财校长称40万博士生月收入仅3000元 建议提高博士生的收入_微动态
- C919大型客机获颁生产许可证_天天速读
- 世界快看点丨第二春?《大镖客2》Steam在线人数超6.6万创下新高
- 天文学家痛斥:美国一卫星比天上99.8%的星星都亮
- 《木卫四协议》前期2个小时视频被泄露
- 世界焦点!《亚当斯一家》真人剧《星期三》豆瓣开分8.1
- 每日热文:《FF7核心RE》新预告:预购开启、12月13日正式推出
- 《瞬息全宇宙》获哥谭奖“最佳影片”
- 角逐元宇宙,索尼也来了!推出360美元可穿戴VR设备 焦点简讯
- 每日讯息!如何在卡牌游戏里体验“满清十大酷刑”?
- 微软收购动视暴雪获得沙特、巴西和塞尔维亚的批准|快报
- 布兰妮在社交媒体疯狂输出 粉丝:她的眼神让人毛骨悚然
- PS4主机9岁了!销量近1.2亿 生命周期已基本至终点_天天热闻
- 今日观点!《最后生还者2》乔尔秃头Mod演示:变秃了 也变强了!
- 世界滚动:8核i7+RTX 3070显卡:笔记本准系统仅5999元
- 大学生打电竞比赛聊考研 网友:学习好 游戏也打得好
- 今日讯!世界航空界首次:劳斯莱斯成功测试氢动力喷气发动机
- 小米首款台式机来了!小米迷你主机与小米13同步发布
- 火山引擎智能外呼上线抖店,双十一助力商家提升营销转化:全球报资讯
- 天天观天下!小米13跑《原神》30分钟测试:跑满帧 43度不发烫
- 网友曝小米13真机渲染图 你感觉如何?:世界新动态
- 特斯拉Model 3新款将开售:降到20万以内
- 【世界速看料】小米无线鼠标减价 史低价30元
- 发生了什么?上证50暴涨4%,离岸人民币狂拉800点,恒生科技飙升逾7%,债市延续大跌_最新资讯
- 高盛:对冲基金正在大规模做空能源股 环球微动态
- 印度首枚私人太空火箭发射升空,只有6米长、半吨重
- 《怪物猎人崛起:曙光》分享设计草图原画 凶恶怨虎龙霸气外露:环球热门
- LOL心之钢即将迎来削弱:伤害加成从10%下调至5%
- 加密货币贷款公司BlockFi 申请破产保护-当前速看
- 全球今头条!支付宝上线生僻字键盘 可方便6000万人
- 传《真人快打》正统续作或将于TGA公布 30周年纪念作品
- 全球速讯:多人跑团调查冒险游戏《志怪者》测试即将开启
- 拼多多三季度净赚百亿:我们以消费者为中心 规则简单 盈利不是优先目标
- 十六年来首次!日本央行国债持仓罕见亏损63亿美元
- 拼多多支棱起来了?-环球新要闻
- 《三体》动画发布希恩斯海报 他是第三位面壁者:环球新消息
- 《英雄联盟电竞经理》斩获苹果2022年App Store大奖年度中国游戏-滚动
- 史蒂文·斯皮尔伯格确诊感染 错过哥谭奖演讲
- 2022年度中国游戏产业年会及电竞产业年会延期举办-环球今亮点
- 《夏日重现》漫改游戏小舟澪角色PV 明年1月26日发售