查看原文
其他

【金猿技术展】时序数据库表结构改变处理方法 ——高效处理PB级数据,可实时监测预警业务运行状态的技术

数据猿 2022-12-30





涛思数据技术

本项目由涛思数据投递并参与“数据猿年度金猿策划活动——2022大数据产业创新技术突破榜单及奖项”评选

‍数据智能产业创新服务媒体

——聚焦数智 · 改变商业






技术进步推动万物互联时代到来,随着传感与控制、网络通信以及软件应用技术的进步,各类数据被采集后源源不断的发往云端,物联网类应用场景和需求激增。

在测点数暴涨、数据采集频次不断提高的大数据时代,传统实时数据库暴露出:没有水平扩展能力、技术架构陈旧、数据分析能力偏弱、不支持各种大数据分析接口、不支持云端部署等问题。

通用大数据方案也遇到了开发效率地、运行效率差、运维复杂等问题。

物联网、工业互联网等时序大数据具备一系列的特点,针对这些特点,涛思数据充分使用自研专利“一种时序数据库表结构改变处理方法”等多个专利,研发了时序数据库TDengine 且将其完全开源。

通过“一个数据采集点一张表”与“超级表”概念、创新的存储引擎等创新点,让数据的写入、查询和存储效率都得到极大的提升。且,2022年8月发布了TDengine 3.0 版本 ,解决了困扰诸多主流时序数据库Time Series DatabaseTSDB)的高基数(High-Cardinality)问题,可以实现支持10亿个设备采集数据、100个节点。

“一种时序数据库表结构改变处理方法”专利让TDengine能够让它高效地处理大量设备、数据采集器每天产生的高达 TB 甚至 PB 级的数据,对业务的运行状态进行实时的监测、预警,从大数据中挖掘出商业价值。

自 2018 年商业化版本发布后,TDengine 已经在全球 400 多个城市中,被广泛应用在了物联网、工业互联网、IT运维、车联网、能源和金融等各行业,为各企业的数字化改造和转型、效率提升以及存储、运维成本降低上做出很大贡献。

技术说明


以物联网、工业大数
据为代表的时序类数据具备独特的特点:

涛思数据针对这一系列特点申请专利“一种时序数据库表结构改变处理方法”,并研发了 TDengine 时序数据库(Time Series Database)。

2022年,更是在调研了数百个业务场景的基础上,完成了 3.0 版本的迭代,TDengine集群支持 10 亿条以上的时间线、100 台服务器节点,成为一款真正的云原生时序数据库,具有极强的弹性伸缩能力,且无需再集成 Kafka、Redis、Spark、Flink 等软件,可以大幅降低系统架构的复杂度。

1、水平扩展


TDengine 的新分布式架构

打造云原生时序数据库,第一个要素就是必须是分布式架构。这一点来看, TDengine 从诞生开始就是分布式架构,但为了实现云原生的种种特性,在分布式架构的基础上,TDengine引入了一个新的节点——计算节点 Qnode。

那通过云原生如何解决可扩展性问题?

还是通过分片分区来解决,在时间轴上以天或周为单位对数据进行切分,同时将定量设备的数据分配给每个区(Vnode)进行处理。

为了解决高基数问题,TDengine 管理节点不再存储每个设备或每张表的元数据了,而是把这些元数据还有时序数据完全存储在 vnode 里,之后会用 B+ 树、一致性哈希来处理。这样一来,在插入一个数据到任何一个片或者一个区时,TDengine 都不再需要经过任何中间节点,彻底解决了高基数的问题。

经过测试,TDengine 3.0 完全能够支持 10 亿个设备、100 台服务器节点,同时整个启动时间也很快,不到一分钟整个集群就能启动。对于此前的TDengine 2.6版本而言,虽也能支持五千万的设备数,但启动时间就大概要三四十分钟,设备数量多的时候不太给力。

而现在,比如中国智能电表至少要有十亿台,给十亿台电表做聚合操作非常困难,这也使得时序数据库必须解决高基数问题,TDengine3.0真正把这个问题解决了。

2、弹性

云原生里面很重要的另外一点:弹性,它跟水平扩展的弹性还略有不同,首先一定要把计算和存储分离,前文提到TDengine 3.0 新增了一个计算节点 Qnode,是专门用来做计算的,但简单查询 Vnode 就可以直接操作了,如果牵扯到 group by、order by 等复杂查询,就需要在 Qnode 上进行了。

Qnode 的优点就是操作者可以动态地启动、停止,也就是说它的计算资源可以动态地进行操控,这样就实现了存算分离。同时 Vnode 也可以进行拆分或合并,保证存储也可以弹性伸缩。

如果系统不能做到真正的弹性伸缩,就一定不是云原生的,很多企业打着云原生的幌子,但实际上连云原生是什么都说不清楚。实际上,云原生就是要充分利用云平台的优势,即计算资源、存储资源、网络资源,且要完全弹性,在用户想要的时候就马上给,不想要就马上释放,这样才能真正实现成本的节约。

3、韧性

云原生里还有一个重要概念叫韧性,简单来讲就是高可靠、高可用。TDengine 在多个副本基础上,3.0版本完全采用了标准 RAFT 协议来实现数据复制,以此保证数据一致性,除了高可用,合格的韧性还要保证系统的高可靠,保证机器即使宕机了依然还能重启,且还能继续工作,数据也不会丢失。

4、部署、维护

TDengine以前都是建议用户到 Kubernetes 上部署,但并没有出详细的自动化流程,3.0 版本给出了详细的 Kubernetes 部署文档,只需修改两个配置文件,马上就能部署整个集群,极其简单。

除了更加理解云原生,时序数据库TDengine 3.0 带来的另一个收获就是可观测性。可观测性其实远远不只是监控,它包括了 logging、tracing、metrics,TDengine 3.0可以让用户对所有集群的运行状态都能真正监测到,让系统维护变得更加简单。在维护上,还有关键一点就是要做到自动化,一切都要脚本化,减少人工手动操作的成本

TDengine 3.0 的架构改进,从关键特性上来看,除了水平扩展性之外,还增强了弹性和韧性,可作为一个极简的时序数据处理平台,能够让大家以更低的成本完成时序数据平台的搭建。

5、结语

云是未来已成为共识,数据库也一定要走向云原生(Cloud Native)。真正的云原生数据库应该具备存算分离、计算和存储能力弹性扩张、能够在云上部署、自动化部署等特点。TDengine 3.0通过成功解决了解决了水平扩展、弹性、韧性等问题,完成云原生的蜕变,能够帮助用户以更低的成本完成时序数据平台的搭建。

★专利申请号/公开号CN109189783A

开发团队



·带队负责人姓名:陶建辉

陶建辉,涛思数据创始人,开源时序数据库 TDengine 核心开发。

1994 年到美国留学,1997 年起,先后在芝加哥 Motorola、3Com 等公司从事无线互联网的研发工作。2008 年初回到北京创业,先后创办和信、快乐妈咪和涛思数据三家科技企业。

研发团队核心成员:关胜亮、廖浩均、程洪泽。

·隶属机构:涛思数据

北京涛思数据科技有限公司( TAOS Data ) 瞄准日益增长的物联网数据市场,专注时序空间大数据的存储、查询、分析和计算,不依赖任何开源或第三方软件,开发了拥有自主知识产权、100% 自主可控的高性能、分布式、支持SQL的时序数据库 TDengine。TDengine 可广泛运用于物联网、车联网、工业互联网、IT运维等领域。公司已经申请多项技术发明专利,且全部提交 PCT 专利申请。

相关评价


具体到实际业务中,TDengine 表现出了优秀的性能。以存储性能为例,之前我们使用 ES集群时,15个节点只能支持3个月的数据存储,在接入 TDengine 之后,7 个同样配置的集群,已经支撑了 5 个月的数据存储。基于 TDengine 在当下业务中所表现出的优异成绩,我们在未来考虑向 TDengine 中接入更大规模的轨迹数据以及其他业务中的时序数据。也希望未来我们能借力 TDengine,实现大量的轨迹计算及挖掘,将公司内部的数据实现快速变现,加速充电桩业务的发展,依赖 LBS 帮助客户挖掘更多的潜在客户,实现多边共赢。

——曹志强
四维图新位置服务部门数据平台负责人

在存储方面,在使用 TDengine 之后,针对生产环境的一个 6.6TB 的集群,我们粗略估计了一下前后的压缩比,大概在 6.6/0.4。

在我们原来的集群中是没有副本的,单纯就部署了 MySQL 的 5 个分库,使用了 4C 8GB 2TB 的 5 台机器,在应用 TDengine 之后,现在是 8C 32GB 2TB 的 3 台机器。通过 TDengine 我们构建了多副本和统一的能力,以及后续上混合云的能力,这是整个平台级的一个优化与提升。

——唐恒建
OPPO 高级后端工程师

提示:了解更多相关内容,点击文末左下角阅读原文”链接可直达该机构官网。 


《2022中国企业数智化转型升级服务全景图/产业图谱3.0版》

《2022中国数据智能产业图谱3.0版》

 创新服务企业榜

 创新服务产品榜

 最具投资价值榜

 创新技术突破榜

条漫:《看过大佬们发的朋友圈之后,我相信:明天会更好!》

联系数据猿

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存