| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 一篇入门物联网大数据:TDengine时序数据库 -> 正文阅读 |
|
[大数据]一篇入门物联网大数据:TDengine时序数据库 |
目录 一、大数据时代大数据,已是技术发展中的重要领域,数据无处不在,支撑着大数据的中间件也不断迭代更新,TDengine成为当中的优势产品,生产应用场景不断扩大,这一篇入门物联网大数据:TDengine时序数据库,从零学习了解大数据时代的解决方案! 二、TDengine设计思想在生活中,各种IOT的联网设备,比如智能手表、水表、汽车等,每时每刻都产生数据,这样的数据是按时间顺序的。 时间序列的数据一旦产生便是历史不再发生变化。因此,数据写入后不再有删除和修改的操作,因此,与MySQL等数据库相比较,TDengine简化了数据存储的数据结构上,使得一些聚合查询上可以通过预计算得到,更加高效。 TDengine最佳实践说明,为每一个独立产生数据 的IOT设备建立一张独立的表,这样保证了,不同设备之间存在时钟不同步或者服务器网络延时的情况下,同一张表(来自同一个设备)的数据仍然可以保证是顺序写入的。 三、CAP理论和TDengine的特性1、CAP理论CAP理论在互联网产品中是必然会应用到的理论,一致性Consistency、可用性Availability、分区容错性Partition tolerance。 一个分布式数据存储系统最多只能同时满足其中两点。因此,分布式系统势必只能在一致性和可用性中权衡做出选择。
?2、TDengine特性TDengine在物联网的场景下以牺牲部分功能支持的代价换来了超过10倍的性能提升。基于顺序表结构的存储,追加写的插入,二分查找的查询,结构化的定长数据,预计算的聚合结果等优化大大提升了时序数据存储的读写性能。 TDengine支持按时间过期的方式删除陈旧的历史数据避免无限量的数据增长。 四、数据模型1、数据特点研究发现,物联网、车联网、运维监测类数据还具有很多其他明显的特征:
?根据这些数据的特征,TDengine采取经过特殊优化的存储和计算设计来处理时序数据,系统处理能力很大提高,而且降低了系统运维的复杂度。 2、超级表和表从上面介绍我们知道,TDengine为一个数据采集点建一个表,而且,这个表第一列必须是时间戳timestamp类型。 很明显,表的数量巨大,难以管理,当应用需要做采集点之间的聚合操作,聚合的操作也变得复杂起来。为解决这个问题,TDengine引入超级表(Super Table,简称为STable)的概念。 超级表:同一类型数据采集点的集合。指某一特定类型的数据采集点的集合,同一类型的数据采集点的表结构是完全一样的,而静态属性(也叫标签,包括地点、设备的分组id等)不一样。一个系统有N个不同类型的数据采集点,就需要建立个超级表(Super Table)。 ?TDengine架构示意图 主要逻辑单元:物理节点(pnode)、数据节点(dnode)、虚拟节点(vnode)、管理节点(mnode)、虚拟节点组(VGroup)、驱动程序(Taosc)。 TDengine架构的详细部分这里暂时不展开,不影响后面的阅读。 3、数据查询TDengine提供丰富地查询功能,除了常规聚合查询,还提供对时序数据的窗口查询、统计聚合等功能。查询处理功能由客户端、vnode、mnode节点协同完成。 a. 单表查询SQL语句解析和校验工作在客户端完成。解析SQL语句并生成抽象语法树(AST),再进行校验和检查,以及向mnode请求查询中指定表的元数据信息。 然后,根据元数据信息中的End Point,将查询请求序列化后发送到该表所在的dnode。dnode接收识别出指向的vnode,将消息转发到vnode查询执行队列。dnode查询执行队列中的工作线程会等待vnode线程执行完成,再将查询结果返回给客户端。 b. 多表聚合查询
这里涉及到的标签数据、元数据的概念,可以继续看以下内容,对于管理节点、数据节点的概念,属于TDengine结构的具体内容,暂时不展开讨论。 五、存储模型1、时序数据存放在vnode,由data、head、last三个文件组成,数据量大。不支持删除操作,update参数为1时才能更新操作。一个采集点一种表,一个时间段的数据是连续的,写入是简单追加操作,这样对单个采集点的插入和查询操作,性能达到最优。 2、标签数据存放在vnode的meta文件,支持CRUD操作,数据量不大。N张表就有N条记录,可以全内存存储。 3、元数据存放在mnode,包含系统节点、用户、DB、Table Schema,支持CRUD,数据量不大,可全内存存储,而且客户端有缓存,查询量不大。 这一篇主要是学习大数据内容时,入门TDengine应用的简单总结,整理了一些基本且关键知识。 如果觉得不错欢迎“一键三连”哦,点赞收藏关注,评论提问建议,欢迎交流学习!一起加油进步,我们下篇见!? 涛思数据TDengine官方文档:https://www.taosdata.com/cn/documentation/ 本篇内容首发我的CSDN博客:https://csdn-czh.blog.csdn.net/article/details/119089953 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/4 3:55:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |