前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【金猿技术展】时序数据库表结构改变处理方法 ——高效处理PB级数据,可实时监测预警业务运行状态的技术

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

作者头像
数据猿
发布2023-03-03 16:47:55
5080
发布2023-03-03 16:47:55
举报
文章被收录于专栏:数据猿数据猿

涛思数据技术

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

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

——聚焦数智 · 改变商业


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

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

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

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

通过“一个数据采集点一张表”与“超级表”概念、创新的存储引擎等创新点,让数据的写入、查询和存储效率都得到极大的提升。且,2022年8月发布了TDengine 3.0 版本 ,解决了困扰诸多主流时序数据库(Time Series Database,TSDB)的高基数(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-12-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据猿 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2、弹性
  • 4、部署、维护
  • 5、结语
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档