TDengine3.0的升级逻辑解读

2023-05-16

数据库作为数字基础设施的根技术,已有 60 年发展历程,历经上世纪 50 年代的层次数据库、网状数据库,到上世纪 70 年代的关系型数据库,再到上世纪 90 年代的分析型数据库,2000 年的非关系型数据库,几个发展阶段,其中时序数据库,主要是针对近来火爆全球的AIOT场景而专门打造的,兴起时间倒并不长,而在一众时序数据库产品中TDengine目前所取得的成绩明显力压力压群雄,其产品升级迭代的路线非常符合时代的要求,本文我们就来为大家解读TDengine升级背后的逻辑。

在这个数字化的时代中人们对数字体验提出全量、全要素、全流程等数字化新需求,这给数据库提出新的挑战。为适应这个挑战我们看到2022年国产数据库都开始向云原生化的方向转型,而TDengineV3中优化的虚拟节点(Vnode),新增的弹性计算节点(Qnode)和流计算节点(Snode),全部是围绕云原生这个特性展开,并且特别贴合于时序数据库的实际使用场景。

基础背景-传统数据库与时序数据库的云原生转型有何不同

云原生是Do more with less理念的产物,也就是让用户以更少的操作,来实现更多更智能化的效果。目前绝大部分的传统数据库的云版本,大多以ECS中的自建数据库和云厂商托管的数据库RDS的形态存在的,这些云数据库架构使用的是传统数据库的架构,只是运行在云的基础设施上,数据库本身并没有为云做太多的改造和适配。

从技术层面上讲传统的云数据库除了实现存储和计算分离和一写多读以外,还有很强的冲动云将CPU和内存的绑定关系进行解耦,因为传统数据库的使用场景很多,CPU资源和内存资源如果作为一个整体,只能作为一个最小的单位升降级的话(一般都是1C2G的计算内存配比),对用户来说是不合理的,比如对AP类分析弄数据库,用户使用少数CPU来定期同步和更新数据。但为了避免从磁盘来读取数据的时间延迟。维表数据,或者中间结果需要缓存在内存里,需要较大内存,但对TP交易型数据库来说,数据访问一般存在热点,因此少量的内存就足够保证缓存命中率超过99%,但高峰时CPU需要弹到64c甚至更多核,CPU的需求会高于内存的需求。

因此我们看到所有数据库厂商都提出口号要实现云原生方面的转型,但是具体到不同类型的产品上讲,这个诉求是不同的,传统数据库厂商到要做将计算资源和内存分别进行池化,使得弹性能力更进一步提升,这是使用场景决定的。

我们看到时序数据库(Time Series Database)这种相对使用场景比较固定的门类,它展开云原生转型的路线实际上是围绕分布式改造和流式计算这两个核心来展开,只有把这两个点做好才符合云原生Do more with less的理念。

TDEngine云原生路线解读

正如我们前文所说,传统数据库的云原生技术升级,主要是把计算资源和内存资源全部池化,从而解决计算内存资源比例绑定而产生的浪费问题。但是时序数据库使用场景比较固定,因此基本不存在计算资源和内存资源需要解耦,并分别池化的需求。

元数据存储的分布式改造:因此我们看到TDengine3最重要的升级就是全面的分布式改造,TDengine之前版本中对于数据一直使用分布式架构处理,在时间轴上以天或周为单位对数据进行切分,同时将定量设备的数据分配给每个区(Vnode)进行处理。3.0 版本让TDengine对元数据的管理也变成了完全分布式的。

在传统数据库中RDB也就是元数据的量往往很小,因此集中式存储一般问题不大,但是在时序数据库中元数据是所以采集点的标签数据,如果是电表标签的话,那个元数据可能有上亿条,数据量级会非常大,因此TDengine 3.0的版本中管理节点不再存储每个设备或每张表的元数据了,而是把这些元数据还有时序数据完全存储在 vnode 里,之后会用 B+ 树、一致性哈希来处理。这样一来,TDengine在插入一个数据到任何一个片或者一个区时都不再需要经过任何中间节点,彻底解决了采集数据分布过多且与标签数据点乘带来的高基数问题。同时 Vnode 也可以进行拆分或合并,保证存储也可以弹性伸缩。

引入弹性计算节点Qnode,适配弹性伸缩需求:在完成元数据的分布式改造的同时,Qnode流式计算节点的引入让TDengine完全实现了计算和存储分离,Qnode 不是系统必需的节点,支持动态地启动、停止,也就是说它的计算资源可以动态地进行操控,这样就实现了存算分离。而且TDengine3.0 版本还针对容器化部署的需求,给出了详细的 Kubernetes 部署文档,只需修改两个配置文件,马上就能部署整个TDengine集群,极其简单。

增加对于流式计算的支持:流式计算是我们日常使用数据过程中所经常遇到的一种计算模式,流式计算中流的概念,一方面是指把数据当成数据流处理由数据驱动计算的完成,提升计算指标的实效性;另一方面是指将计算和传统的工作流结合,更高效的完成数据的分析、统计等工作。

比如在笔者日常的工作中就会订阅一些高净值客户的动帐情况,一旦遇到有高额的理财或者基金赎回,就会匹配一些对应的产品推荐给客户,这些推荐对于挽留客户一般都有着比较好的效果,但是对于实效性的要求也很高,因此流式计算在这方面应用比较多。

我相信TDengine3.0的版本规划时肯定是充分调研了市场的需求,因为流式计算也就是实时数据流计算,一般都要与kafka等消息队列产品搭配使用,比如我们上文所说的高净值客户的理财赎回,其实就是我们关注的一类消息,这类消息我们往往需要用消息中间件处理,而TDengine则自带了消息订阅的服务,而且TDengine3.0新引入的流计算节点Snode,还全面支持用SQL语句定义的流计算过程。这就更方面用户在此基础上更好的挖掘数据的价值,利用TDengine来简单高效得创建一体化的数据存储及处理平台。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TDengine3.0的升级逻辑解读 的相关文章

  • 编译安装ORB-SLAM2获得三维点云地图(搜遍全网,就这一篇能看懂)

    高翔博士对ORBSLAM2修改增加了点云模块 xff0c https github com gaoxiang12 ORBSLAM2 with pointcloud map 在编译过程中 xff0c 遇到很多问题 xff0c 特来记录一下 以
  • SLAM技术目前主要应用在哪些领域

    当今科技发展速度飞快 xff0c 想让用户在AR VR 机器人 无人机 无人驾驶领域体验加强 xff0c 还是需要更多前沿技术做支持 xff0c SLAM就是其中之一 实际上 xff0c 有人就曾打比方 xff0c 若是手机离开了WIFI和
  • Intel Realsense D435i驱动安装及固件升级

    前言 实验室购买了intel realsense d435i RGBD相机 xff0c 用于无人机平台上的定位导航 xff0c 最近新购买了intel nuc xff0c 需要重新布置相机驱动 xff0c 特此把安装经历重新梳理一遍 xff
  • PixHawk飞控和Mission Planner地面站安装调试

    常用地面站软件主要有QGroundControl和MissionPlanner两种 下面以mission planner来介绍如何使用地面站软件进行固件升级和传感器校准 一 PixHawk飞控配置 www pixhawk com PixHa
  • PX4&GAAS

    PX4源码 xff1a https github com PX4 Firmware QGroundControl安装教程 xff1a https docs qgroundcontrol com en getting started down
  • MSCKF那些事-知乎转载

    MSCKF那些事 xff08 一 xff09 MSCKF算法简介MSCKF那些事 xff08 二 xff09 S MSCKF试用与源码解析MSCKF那些事 xff08 三 xff09 算法详解1 xff1a 前端特征跟踪MSCKF那些事 x
  • 赶快入手12代酷睿,畅享性能飞升体验-Acer掠夺者战斧300笔记本评测

    在这个社会全面数字化转型的时代 xff0c 人们对于计算机算力的需求越来越大 xff0c 对于日常使用的主力办公笔记本也是要求越来越全面 xff0c 尤其像笔者这样的编程一族 xff0c 今年一季度酷睿12代系列处理器的推出 xff0c 堪
  • 视觉惯性里程计VIO综述

    参考 xff1a https blog csdn net xiaoxiaowenqiang article details 81192045 目前主流的VIO开源方案主要有以下几类 xff0c 按照相机与IMU的耦合方式可分为松耦合和紧耦合
  • 常用地图结构和基础知识

    1 Occupancy grid map 占用栅格图 最稠密 每隔一个距离就要进行切分 xff08 当每个格子切的比较小也就是分辨率比较大的时候 xff0c 内存非常大 xff09 结构化坐标索引查询 xff0c O 1 https git
  • 2022年度盘点:十大最佳开源SLAM算法

    激光雷达里程计 香港大学开源激光雷达惯性视觉里程计FAST LIVO 论文名 xff1a FAST LIVO Fast and Tightly coupled Sparse Direct LiDAR Inertial Visual Odom
  • STL标准模版库之算法(algorithm)

    STL xff08 Standard Template Library xff0c 标准模板库 是惠普实验室开发的一系列软件的统称 它是由Alexander Stepanov Meng Lee和David R Musser在惠普实验室工作时
  • 树苺派TF卡备份/还原镜像

    树苺派TF卡备份 还原镜像 TF卡备份TF卡还原 备份和还原树莓派TF卡镜像推荐在Linux下进行 TF卡备份 在Ubuntu下插入装有Raspbian的TF卡会直接挂载 xff0c 挂载后的盘在 dev下显示为 34 dev sdx 34
  • 通过dockerfile 创建镜像以及更新镜像

    制作Docker镜像 1 安装 Docker Docker 要求 CentOS 系统的内核版本高于 3 10 查看当前系统的版本 uname r 安装 Docker 软件包和依赖包 yum y install docker 安装完成 从远程
  • RT-Thread 线程同步及通信 -- 信号量、互斥量、事件、邮箱、消息队列

    目录 一 RT Thread 信号量 二 RT Thread 互斥量 三 RT Thread 事件标志组 四 RT Thread 邮箱 五 RT Thread 消息队列 一 RT Thread 信号量 1 信号量相关函数 创建信号量 64
  • Fiddler抓不到浏览器包的常见原因

    代理未设置成功 fiddler 之所以能抓包 xff0c 本质上是因为浏览器 App 软件设置了代理为 fiddler 一旦遇到抓不到包的情况 xff0c 首先应排查浏览器代理是否设置正确 以 Chrome 为例 xff0c 代理设置为 x
  • 经典 SQL 数据库笔试题及答案整理

    马上又是金三银四啦 xff0c 有蛮多小伙伴在跳槽找工作 xff0c 但对于年限稍短的软件测试工程师 xff0c 难免会需要进行笔试 xff0c 而在笔试中 xff0c 基本都会碰到一道关于数据库的大题 xff0c 今天这篇文章呢 xff0
  • 软件测试项目实战(web+app+h5+小程序)

    没有实战经验 xff0c 简历不好编写 xff0c 而且也不好就业 今天给大家分享一个非常适合练手的软件测试项目 xff0c 此项目涵盖web端 app端 h5端 小程序端 xff0c 可以说非常之全面 获取方式在文末 项目介绍 项目名 x
  • 基础软件照搬开源不可取,自力更生才是正途

    最近有关开源软件的话题始终牢牢占据着IT界的新闻头条 xff0c Log4j开源软件的惊天漏洞 Fake js的作者也惊天删库跑路了 xff0c CurL的作者怒怼苹果只会白嫖开源却不出力 xff0c Linux的祖师爷Linus也不知所云
  • ADB 命令知多少?详细 ADB 命令大全来啦

    一 ADB 简介 1 什么是 ADB ADB 全称为 Android Debug Bridge xff0c 起到调试桥的作用 xff0c 是一个客户端 服务器端程序 其中客户端是用来操作的电脑 xff0c 服务端是 Android 设备 A
  • 软测面试如何介绍项目?要做哪些技术准备?

    测试人员在找工作中 xff0c 基本都会碰到让介绍项目的这种面试题 xff0c 如何正确介绍自己的项目 xff1f 需要做哪些技术准备 xff1f 今天这篇文章 xff0c 围绕这些问题 xff0c 跟大家一起聊一聊 Q 关于介绍自己的项目

随机推荐