首页 > 其他分享 >使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)

使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)

时间:2023-08-25 20:31:39浏览次数:36  
标签:COUNT 架构设计 LEVEL ln IoT IoTDB TIMESERIES root

显示子路径

  1. SHOW CHILD PATHS prefixPath

返回前缀路径的所有子路径,前缀路径可以包含*。

示例:

  • 返回root.ln的子路径:显示root.ln的子路径
  1. +------------+
  2. | child paths|
  3. +------------+
  4. |root.ln.wf01|
  5. |root.ln.wf02|
  6. +------------+
  • 以root.xx.xx.xx的形式获取所有路径:显示根的子路径。*.*
  1. +---------------+
  2. | child paths|
  3. +---------------+
  4. |root.ln.wf01.s1|
  5. |root.ln.wf02.s2|
  6. +---------------+

计数时间序列

IoTDB能够使用COUNT TIMESERIES <Path>计算路径中时间序列的数量。SQL语句如下:

  1. IoTDB > COUNT TIMESERIES root
  2. IoTDB > COUNT TIMESERIES root.ln
  3. IoTDB > COUNT TIMESERIES root.ln.*.*.status
  4. IoTDB > COUNT TIMESERIES root.ln.wf01.wt01.status

另外,LEVEL可以定义为显示当前元数据树中给定级别的每个节点的时间序列数。这可用于查询每个设备下的传感器数量。语法是:COUNT TIMESERIES <Path> GROUP BY LEVEL=<INTEGER>.

例如,如果有几个时间间隔(使用show timeseries要显示所有时间序列):

使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)_元数据

那么元数据树将如下所示:

使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)_时间序列_02

正如可以看到的,root被认为是LEVEL=0。因此,当您输入如下语句时:

  1. IoTDB > COUNT TIMESERIES root GROUP BY LEVEL=1
  2. IoTDB > COUNT TIMESERIES root.ln GROUP BY LEVEL=2
  3. IoTDB > COUNT TIMESERIES root.ln.wf01 GROUP BY LEVEL=2

您将获得以下结果:

使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)_SQL_03

注意:时间序列的路径只是一个过滤条件,与级别的定义没有关系。

计算节点数

IoTDB能够使用COUNT NODES <Path> LEVEL=<INTEGER>计算当前元数据树中给定级别的节点数。这可以用来查询设备的数量。用法如下:

  1. IoTDB > COUNT NODES root LEVEL=2
  2. IoTDB > COUNT NODES root.ln LEVEL=2
  3. IoTDB > COUNT NODES root.ln.wf01 LEVEL=3

对于上面提到的例子和元数据树,您可以得到以下结果:

使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(7)_SQL_04

注意:时间序列的路径只是一个过滤条件,与级别的定义没有关系。

删除时间序列

要删除我们之前创建的时间序列,我们可以使用DELETE TimeSeries <PrefixPath>声明。

用法如下:

  1. IoTDB> delete timeseries root.ln.wf01.wt01.status
  2. IoTDB> delete timeseries root.ln.wf01.wt01.temperature, root.ln.wf02.wt02.hardware
  3. IoTDB> delete timeseries root.ln.wf02.*

显示设备

与…类似Show Timeseries,IoTDB还支持两种查看设备的方式:

  • SHOW DEVICES语句显示所有设备信息,相当于SHOW DEVICES root.
  • SHOW DEVICES <PrefixPath>语句指定了PrefixPath并返回给定级别下的设备信息。

SQL语句如下:

  1. IoTDB> show devices
  2. IoTDB> show devices root.ln

晶体管-晶体管逻辑。

IoTDB支持存储级TTL设置,这意味着它能够定期自动删除旧数据。使用TTL的好处是,希望咱们程序猿可以控制总磁盘空间的使用,并防止机器用完磁盘。此外,随着文件总数的增加,查询性能可能会降低,并且随着文件的增加,内存使用也会增加。及时删除此类文件有助于保持较高的查询性能并减少内存使用。

设置TTL

设置TTL的SQL语句如下:

  1. IoTDB> set ttl to root.ln 3600000

这个例子意味着对于root.ln只保留最近1小时的,旧的被删除或变得不可见。

取消设置TTL

要取消设置TTL,我们可以使用下面的SQL语句:

  1. IoTDB> unset ttl to root.ln

复位TTL后,所有数据将被接受root.ln

脸红

将存储组内存表中的所有数据点持久化到磁盘,并密封数据文件。

  1. IoTDB> FLUSH
  2. IoTDB> FLUSH root.ln
  3. IoTDB> FLUSH root.sg1,root.sg2

合并

合并序列和非序列数据。目前,IoTDB支持以下两种类型的SQL来手动触发数据文件的合并过程:

  • MERGE只重写重叠的块,合并速度快,但最终磁盘上会有冗余数据。
  • FULL MERGE重写重叠文件中的所有数据,合并速度很慢,但最终磁盘上不会有冗余数据。
  1. IoTDB> MERGE
  2. IoTDB> FULL MERGE

清除缓存

清除块、块元数据和时间序列元数据的缓存,以释放内存占用。

  1. IoTDB> CLEAR CACHE

标签:COUNT,架构设计,LEVEL,ln,IoT,IoTDB,TIMESERIES,root
From: https://blog.51cto.com/u_15123639/7235245

相关文章

  • #是男人就做架构师# 系统架构设计师 案例复盘
    前言本文对2022年系统架构设计师下午题进行复盘总结,实际考试中,试题一是必做的,剩下题目4选2即可。今年的下午题结合了实际项目,是理论结合实践的典范。试题一 会员与促销管理系统某电子商务公司拟升级其会员与促销管理系统,向用户提供个性化服务,提高用户的粘性。在项目立项之初,公司领......
  • 【IOTE】物联网射频模组和芯片级方案提供商——深圳信驰达科技将精彩亮相IOTE物联网展
    ►►►强势来袭StrongAttack主物联场,相约深圳;2023,共论商机!IOTE2023第二十届国际物联网展·深圳站将于2023年9月20-22日在深圳国际会展中心(宝安新馆)开展!汇聚全球超800+家参展企业,呈现更多数字化纷呈。届时,深圳市信驰达科技将携其特色产品和优秀解决方案亮相展会现场,与大家共襄盛......
  • IPQ6010 QCN9074|Unleashing the Power of Long-Range Transmission in IIoT, Smart C
    UnleashingthePowerofLong-RangeTransmissioninIIoT,SmartCities,andSmartPortswithIPQ6010QCN9074Intheever-evolvinglandscapeofwirelesscommunication,thepossibilitiesseemboundless.Astechnologysurgesforward,sodoesourabilitytobri......
  • 智驾车联网网络架构设计
    智能化汽车的兴起:随着汽车科技的不断发展,智能汽车已经成为一种新的趋势,智能化的汽车需要通过车辆网络来实现车辆之间的通信和数据传输。 车辆网络安全是车辆网络的重要组成部分,随着车辆网络的不断发展,车辆网络安全的重要性日益凸显。车辆网络安全的具体实践车载防火墙:安装在车辆......
  • 使用.NET Core进行微服务架构设计
    当谈到构建现代化、可扩展的应用程序架构时,微服务架构已经成为一个备受关注的话题。在这篇博客中,我们将探讨如何使用.NETCore来设计和实现微服务架构,并提供一些示例代码来帮助你入门。什么是微服务架构?微服务架构是一种软件架构模式,其中应用程序被拆分为一组小型、自治的服务,每个......
  • 使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(3)
    使用ApacheIoTDB进行IoT相关开发的架构设计与功能实现(3)接下来我给大家继续介绍一下ApacheIoTDB的数据类型和相关用法在显示时间戳时,IoTDB可以支持长类型和日期时间显示类型。日期时间显示类型可以支持用户定义的时间格式。自定义时间格式的语法如下表所示:**自定义时间格式的语......
  • 入门物联网,基于IoT平台构建智慧路灯应用的实验指南【玩转loT】
    前言自从了解到古茗前端团队使用Node.js写物联网代码,身为前端开发者,我对物联网充满了兴趣。我一直很认同一个有趣的观点:新技术的出现是为了让使用的人省时省力。而关于物联网雏形的故事,也包含了这一观点:1991年,剑桥大学特洛伊计算机实验室的科学家们,常常要下楼去看咖啡煮好了没有,......
  • 深入了解Elasticsearch搜索引擎篇:倒排索引、架构设计与优化策略
    什么是倒排索引?有什么好处?倒排索引是一种用于快速检索的数据结构,常用于搜索引擎和数据库中。与传统的正排索引不同,倒排索引是根据关键词来建立索引,而不是根据文档ID。倒排索引的建立过程如下:首先,将每个文档拆分成一系列的关键词或词项,然后建立一个词项到文档的映射。对每个关键......
  • 邀请函丨IOTE第二十届国际物联网盛宴,计讯物联蓄势待发展风采
    2023年9月20-22日,以“IoT构建数字经济底座”为主题的IOTE2023第二十届国际物联网▪深圳站即将于深圳国际会展中心(宝安新馆)盛大开幕。  计讯物联将携5G/4G工业级路由器、工业级DTU、工业级网关、边缘计算网关、智慧灯杆网关、AI智能网关、水利遥测终端、环保数采仪、高精度G......
  • 高可扩展性架构设计:实现水平扩展和负载均衡的策略
    在当今互联网应用程序的发展中,高可扩展性架构设计变得越来越重要。随着用户量和数据量的增加,传统的单服务器架构已经无法满足高并发和大规模的需求。为了应对这些挑战,我们需要设计一种高可扩展性架构,能够实现水平扩展和负载均衡的策略。什么是水平扩展和负载均衡水平扩展是指通......