从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0
关于采访嘉宾
在关胜亮的学生时代,“神童”这个称号如影随形,很多人初听时会觉得这个称谓略显夸张,有些人还会认为这是不是就是一种调侃,但是如果你听说过他的经历,就会理解这一称号的意义所在了。
受到教师母亲的影响,关胜亮从记事起就“长”在了教室后排,提前开启了启蒙教育,这也使得他在四周岁直接就读了一年级。尽管所在村庄的教育条件非常有限,他仍然凭借着优异的成绩,在 16 周岁就进入了中国科学技术大学化学物理系,并拿到学校和政府合计 13000 元的助学奖金。要知道,2001 年时科大和清北差距并不大,在关胜亮所在的吉林省被并称为“三校”。更有意义的是,他的求学故事给家乡燃起了一把希望之火,让教育观念薄弱的村里人发现“原来上学也是孩子可以选择的出路”。
进入大学后,彼时还是大一新生的关胜亮通过旁听招聘会,分析出了日后理科学生的工作出路,无非就是留校、研究所、出国几类,当时科大理科相关专业能够获得全额奖学金并出国的比例大约为 20% ~ 30%,似乎也是一个不错的选择,但在接触 C 语言和数据结构的课程后,他发现自己更喜欢坐在电脑旁边写点程序。就这样,关胜亮确定了自己的未来发展方向,并成功从化学物理系转到了新开设的软件工程系,开启了自己的“程序员”生涯。
与涛思结缘,始于一个“无奈之举”
对于关胜亮来说,当初选择数据库这个就业方向,其实纯粹就是一个“无奈之举”。
“我研究生就读于中科院计算所,专业是虚拟现实,本来最对口的方向是一直火到现在的游戏行业,为了一纸户口,我进入了一家做实时数据库的企业,它和时序数据库(Time Series Database)还不一样,只能存储当前时间的数据,历史数据是存储在其他系统的。就这样我一直做了很多年的实时数据库,一度觉得实时数据库是明日黄花了。”
虽然这在当时看起来并不是一个最佳选择,但人生也没有绝对正确的选择,机会总是留给善于思考且有所准备的人,关胜亮深谙这个道理。“选择赛道,其实是在考虑如何生产出一个能卖钱的产品,要相信硬核技术永远都不会过时,只有技术才能带来新的元素。因此,与其选择赛道不如沉淀自己,找到自己的核心竞争力在哪里,看准时机将创业风口与自身专长相结合,技术才是第一生产力。”
2017 年,从 360 过渡到只有几个人的创业公司涛思数据,他没有过多犹豫,在发现自己在时序数据、分布式方面的技术储备,以及在监控领域的业务储备,正好与这个产品完全匹配后,他欣然选择了加入。“我想和 Jeff(TDengine 创始人与核心研发陶建辉) 一起,开发出一个行业领先的数据库产品,重新点亮我的职业生涯,让我十余年的知识积累能够发挥出更大的作用。”
到现在,关胜亮加入涛思也有了 6 年时间,而在这 6 年时间中,他也确实将自己的所学毫无保留地倾注在了 TDengine 这款产品之中。
“在涛思数据,我就是一块砖,哪里需要哪里搬。我组织开发了 TDengine 从 1.0 到 2.0 再到 3.0 的所有迭代版本,哪个模块缺人手,我就会补充到哪里,不但做架构、管理,也写了很多代码。打开 Github 仓库,查看 TDengine 的贡献者(https://github.com/taosdata/TDengine/graphs/contributors),可以看到我是排在第一位的。”

可以说,职业生涯到现在为止,专注于 TDengine 的产品研发就是让关胜亮最有成就感的事情了。让他欣慰的是,在涛思人的共同努力下,TDengine 已经发展成为了国内顶级的时序数据库产品,在国际上也有了一定的影响力,同时也得到了广大开发者的认可——GitHub 上已经发展了两万多的 star(https://github.com/taosdata/TDengine)。
在 IT 技术不断发展的今天,用户要想实现一种功能,一定会有很多的待选方案,但想要在一定性能条件下去实现,选择就不多了。TDengine 之所以硬核,就在于超高性能的数据处理能力。“回想 TDengine 1.x 的版本,产品的稳定性还达不到很高的标准,但我们的首批种子客户依然坚定的选择了 TDengine,一方面是对国产自研软件的支持,另一方面就是市面上没有可用的替代品。”
这也直观地说明,物联网领域确实需要一个能够真正解决问题的时序数据存储引擎。而随着 TDengine 的发展,关胜亮在 6 年前做出的选择也已经“开花结果”。
与 TDengine 同行,技术更新与海外市场两手抓
作为一个基础软件,尤其是国产基础软件,发展难度是显而易见的,也因此,从选择加入 TDengine 的那一刻开始,关胜亮就做好了长期扎根打持久战的准备。
“数据库产品一定要靠丰富的应用场景,通过时间的沉淀和场景的打磨才能发展起来。好的数据库是用出来的,不是靠几个代码高手设计出来的,决定数据库企业未来的是有效用户和应用场景,我们要做的就是在真实的场景中解决用户的痛点问题。”
从这一点出发,TDengine 开启了核心代码完全开源的发展模式,获得了数以千计的真实用户场景,如关胜亮一般的 TDengine 技术人员在这些案例的基础上总结提炼,抽象出用户的真正需求,不断调整迭代产品,不受定制开发等短期利益诱惑,始终保证着将核心研发力量投入在产品的主线发展方向上。
“开源软件想要获得长期发展,成为一个企业敢用的产品,背后一定需要一个强力的组织支撑,用以保证软件的架构稳定,保证代码质量和测试覆盖,保证软件缺陷可以稳定且及时的得到处理,越是功能强大、架构复杂的 2B 软件越是如此。”
借助开源的力量,TDengine 发展了大量的用户,为便于和用户交流沟通,涛思数据目前已运营了 20 多个用户群,各个用户群日常都非常活跃。以 TDengine 3.0 为例,一经发布,每天就有 5~600 人安装试用 TDengine,不到两周的时间已经收集了 100 个优化建议,进一步推动着产品的快速迭代。
“有的竞品攻击我们,说 TDengine 迭代速度太快,产品怎么可能稳定。这种说法非常有意思,产品稳定与否,是和质量体系有关的,和迭代速度关系不大。没有用户的使用,不要说大版本的迭代,小版本的迭代都成了无源之水。在国内竞品把目光瞄准 TDengine 时,TDengine 已经把目光瞄准了全球。”
从联合创始人的身份出发,关胜亮表示 TDengine 接下来的发展道路也已经非常清晰了。“TDengine 在国内时序数据库领域已经有了一定的江湖地位,但是海外市场的拓展还很有限。随着 TDengine 3.0 稳定性和易用性逐步增加,我对海外市场非常有信心,中国 IT 产业约占全球市场的 20%,海外市场具备更大的发展空间。在 IoT 领域,TDengine 已经解决了基础的数据读写的问题,下一步就是引入时序数据分析,在更广阔的领域推动技术的发展。”
再起航:继续“六”下去
发展 6 年,TDengine 也已经沉淀了几十万行代码了,在产品架构设计和演进上,关胜亮也有着“经验之谈”。“在做开发之前,一定要考虑是在做一个产品,还是在做一个项目。作为项目,你可以选择一些主流的开源产品,不要过度设计,让项目可以快速上线;但作为一个产品,关键部分还是要以自研为主,控制核心代码,让迭代升级快速有效。”
他以 TDengine 为例进行了说明,“一个设备一张表的数据模型,作为其最核心的创新点,在三个大版本迭代时都没有变化;但是在工程实现方面,其元数据管理模块,从 1.0 的集中式管理,到 2.0 的半分布式管理,再到 3.0 的全分布式管理,完全是业务需求驱动的。集中式管理可以处理百万时间线,半分布式管理可以处理千万时间线,而全分布式则可以处理上亿的时间线,彻底解决了业界困扰的高基数问题。”
从他的陈述中我们可以看到,TDengine 从 1.0、2.0 到 3.0 的演进,不是简单的数字堆积,每个版本都是真真正正的质的提升。它的成功不只是技术实现细节,更在于研发人员对时序数据特点的抽象融合,对于物联网业务的深度理解。
行文至此,关胜亮与 TDengine 的第一个六年故事就告一段落了,而他们的下一个六年也已经起航。对于关胜亮来说,他的终极目标就是让 TDengine 成为时序数据领域的事实标准,成为全球第一的时序数据库,而他也将为此继续奋斗在产品第一线。
了解更多 TDengine Database的具体细节,可在GitHub上查看相关源代码。
相关文章:
从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0
关于采访嘉宾 在关胜亮的学生时代,“神童”这个称号如影随形,很多人初听时会觉得这个称谓略显夸张,有些人还会认为这是不是就是一种调侃,但是如果你听说过他的经历,就会理解这一称号的意义所在了。 受到教师母亲的影…...
颠覆传统有线通讯,虹科IO-Link wireless解决方案让智能机床的旋转部件实现可靠低延迟无线通信
作为新工业革命的一部分,传统机床正迅速发展成为智能机床。在工业4.0技术的推动下,新的创新应用使机床的效率和功能达到了更高的水平。要实现这些功能,需要在机床上集成传感器和执行器,以提供实时数据和自动化控制。然而ÿ…...
链表 oj2 (7.31)
206. 反转链表 - 力扣(LeetCode) 我们通过头插来实现 将链表上的节点取下来(取的时候需要记录下一个节点),形成新的链表,对新的链表进行头插。 /*** Definition for singly-linked list.* struct ListNode…...
python案例:六大主流小说平台小说下载
嗨喽~大家好呀,这里是魔王呐 ❤ ~! python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取 很多小伙伴学习Python的初衷就是为了爬取小说,方便又快捷~ 辣么今天咱们来分享6个主流小说平台的爬取教程~ 一、流程步骤 流程基本都差不多&#x…...
前端已死!转行网络安全,挖漏洞真香!
最近,一个做运维的朋友在学渗透测试。他说,他公司请别人做渗透测试的费用是 2w/人天,一共2周。2周 10w 的收入,好香~ 于是,我也对渗透测试产生了兴趣。开始了探索之路~ 什么是渗透测试 渗透测试这名字听起来有一种敬畏…...
【AI】了解人工智能、机器学习、神经网络、深度学习
深度学习、神经网络的原理是什么? 深度学习和神经网络都是基于对人脑神经系统的模拟。下面将分别解释深度学习和神经网络的原理。深度学习的原理:深度学习是一种特殊的机器学习,其模型结构更为复杂,通常包括很多隐藏层。它依赖于神…...
【Axure高保真原型】3D柱状图_中继器版
今天和大家分享3D柱状图_中继器版的原型模板,图表在中继器表格里填写具体的数据,调整坐标系后,就可以根据表格数据自动生成对应高度的柱状图,鼠标移入时,可以查看对应圆柱体的数据……具体效果可以打开下方原型地址体验…...
【word技巧】word页眉,如何禁止他人修改?
我们设置了页眉内容之后,不想其他人修改自己的页眉内容,我们可以设置加密的,设置方法如下: 先将页眉设置好,退出页眉设置之后,我们选择布局功能,点击分隔符 – 连续 设置完之后页面分为上下两节…...
Python 机器学习入门之逻辑回归
系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 逻辑回归 系列文章目录前言一、逻辑回归简介二、逻辑回归推导1、问题2、Sigmoid函数3、目标函数3.1 让…...
现货白银赚钱有风险吗?
跟现货黄金一样,现货白银市场是一个公平公正的市场,即使是中小投资者,也能拥有平等的获利机会,同样可以借助平台所给予的资金杠杆,实现个人财富的快速增值。 很多人都是冲着现货白银的财富效应而进入这个市场ÿ…...
Debian衍生桌面项目SpiralLinux12.231001发布
SpiralLinux 是一个从 Debian 衍生出来的桌面项目,其重点是在所有主要桌面环境中实现简洁性和开箱即用的可用性。 spiral Linux 是为刚接触 Linux 世界的人们量身定制的发行版。这是 GeckoLinux 开发人员的创意,他更喜欢保持匿名。尽管他不愿透露姓名&a…...
元宇宙在技术大爆炸时代迎来链游新世界
元宇宙是一个完全虚拟的世界,人们可以在其中互动,就像在现实世界中一样。 随着元宇宙概念不断的被深化,目前许多用户群体已经注意到并加入元宇宙领域。而元宇宙比较火的场景有社交、游戏、虚拟会议等,在许多方面,游戏一…...
9中间件-Redis、MQ---进阶
mq进阶 RabbitMQ 怎么避免消息丢失? 把消息持久化磁盘,保证服务器重启消息不丢失。 每个集群中至少有一个物理磁盘,保证消息落入磁盘。#RabbitMQ 的消息是怎么发送的? 首先客户端必须连接到 RabbitMQ 服务器才能发布和消费消息&…...
JVM(Java Virtual Machine)内存模型篇
前言 本文是JVM系列的内存模型篇,参考资料为《深入理解Java虚拟机》,本文章将会以HotSpot 虚拟机为介绍基础。 1.JVM简单介绍 Java Virtual Machine是运行Java程序的基础,JVM基于C、C实现,JVM有很多种类,但是这些虚…...
对地址解析协议ARP进一步探讨
之前在讨论MAC地址和IP地址时,顺便对ARP协议做了初步的总结 (计网第三章(数据链路层)(四)(MAC地址和IP地址、ARP协议、集线器和交换机)),但是当时对ARP请求的…...
java:java.util.StringTokenizer实现字符串切割
java:java.util.StringTokenizer实现字符串切割 1 前言 java.util工具包提供了字符串切割的工具类StringTokenizer,Spring等常见框架的字符串工具类(如Spring的StringUtils),常见此类使用。 例如Spring的StringUtil…...
IPV6 ND协议--源码解析【根源分析】
ND协议介绍 ND介绍请阅读上一篇文章:IPv6知识 - ND协议【一文通透】11.NDP协议分析与实践_router solicitation报文中不携带source link-layer address-CSDN博客 ND协议定义了5种ICMPv6报文类型,如下表所示: NS/NA报文主要用于地址解析RS/…...
Python学习笔记——存储容器
食用说明:本笔记适用于有一定编程基础的伙伴们。希望有助于各位! 列表 列表类似数组,其中可以包含不同类型的元素,写法如下: list1 [Google, Runoob, 1997, 2000] list2 [1, 2, 3, 4, 5 ] list3 ["a", …...
Android DI框架-Hilt
到底该如何理解<依赖注入> 模版代码:食之无味,弃之可惜 public class MainActivity extends Activity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TextView mTextView(TextView) findVi…...
基于寄生捕食优化的BP神经网络(分类应用) - 附代码
基于寄生捕食优化的BP神经网络(分类应用) - 附代码 文章目录 基于寄生捕食优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.寄生捕食优化BP神经网络3.1 BP神经网络参数设置3.2 寄生捕食算法应用 4.测试结果…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
JVM虚拟机:内存结构、垃圾回收、性能优化
1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...
rknn toolkit2搭建和推理
安装Miniconda Miniconda - Anaconda Miniconda 选择一个 新的 版本 ,不用和RKNN的python版本保持一致 使用 ./xxx.sh进行安装 下面配置一下载源 # 清华大学源(最常用) conda config --add channels https://mirrors.tuna.tsinghua.edu.cn…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
2025-05-08-deepseek本地化部署
title: 2025-05-08-deepseek 本地化部署 tags: 深度学习 程序开发 2025-05-08-deepseek 本地化部署 参考博客 本地部署 DeepSeek:小白也能轻松搞定! 如何给本地部署的 DeepSeek 投喂数据,让他更懂你 [实验目的]:理解系统架构与原…...
