专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

性能超越Clickhouse物联网场景中的毫秒级查询案例

  1物联网应用场景简介
  物联网(InternetofThings,简称IoT)是指通过各种信息传感、通信和IT技术来实时连接、采集、监管海量的传感设备,从而实现对现实世界的精确感知和快速响应,继而实现自动化、智能化管理。在查询IoT设备状态的场景下,吞吐量和时延是两个重要的性能指标。
  在工业物联网中,常见有以下几种设备时序数据的查询需求:案例1:查询某个设备最近的记录案例2:查询某个租户所有设备的最近一条记录案例3:查询某个设备最近5分钟的统计信息案例4:查询某个设备最近一天的秒级数据
  本教程通过一个工业物联网的案例,来演示DolphinDB的序列查询性能,并对比测试了DolphinDBTSDB引擎、OLAP引擎,以及ClickHouseMergeTree引擎在上述查询案例上的时延指标。总体来说,DolphinDBTSDB引擎的性能(时延)对比DolphinDBOLAP引擎和ClickHouseMergeTree引擎有显著优势。2案例数据准备2。1数据集说明
  本教程参考了某工业物联网SaaS平台服务商的数据集,模拟并使用一份高度仿真的数据。该SaaS服务商的主要业务是监控各个地区的噪声情况。表结构如下:
  序号
  字段名称
  字段类型
  注释
  1hrtenantId
  INT
  租户ID
  2hrdeviceId
  INT
  设备ID
  3hrsoundPressureLevel
  DOUBLE
  声音分贝
  4hrsoundPowerLevel
  DOUBLE
  声音功率值
  5hrts
  TIMESTAMP
  数据采集时间戳
  6hrdate
  DATE
  日期
  一行数据包含租户ID、设备ID、声压、噪声功率、采集时间戳和日期共计6列数据。每行记录占用36字节。该案例数据包含100个租户,每个租户管理100个噪声监控设备,记录了从20220101至20220112,12亿的噪声数据,共计40G。2。2库表设计及数据模拟
  使用DolphinDBTSDB引擎,创建一个名为NoiseDB的数据库,存储噪声数据。TSDB引擎是DolphinDB自2。00版本起,专门为物联网场景设计研发的数据存储引擎,具备优秀的写入和序列查询性能。
  在噪声监控的SaaS服务中,较为频繁的查询场景是以租户为维度,查询某一天某个设备的状态信息。因此设计noise表按日期、租户ID进行分区,可以有效利用分区剪枝。同时使用区分度较高的设备ID和数据采集时间戳作为排序键(查询索引),使查询时能够快速定位对应设备的数据,提升查询性能。具体实现脚本如下。db1database(,VALUE,1000。。2000)db2database(,VALUE,2022。01。01。。2022。12。30)TSDBforiotdbNoisedatabase(dfs:NoiseDB,COMPO,〔db1,db2〕,engineTSDB)createtabledfs:NoiseDB。noise(tenantIdINT,deviceIdINT,soundPressureLevelINT,soundPowerLevelDOUBLE,tsTIMESTAMP,dateDATE)partitionedbytenantId,datesortColumns〔deviceId,ts〕
  库表创建完成后,模拟20220101至20220112的数据,具体代码详见附录DolphinDB脚本。
  可以通过SQL查询验证下数据集大小:selectcount()fromloadTable(database(dfs:NoiseDB),noise)wheredatebetween2022。01。01:2022。01。1021260010000
  导入完成后,每个分区下生成3个level0file,未满足自动合并条件(大于等于10个levelFile),需要进行手动合并。chunkIdsexecchunkIdfromgetChunksMeta()wheretype1for(xinchunkIds){triggerTSDBCompaction(x)}
  完成后将案例数据导出数据至csv文件,以便后续导入OLAP引擎、ClickHouse。在ClickHouse中使用OPTIMIZETABLEnoise合并下mergeTree。具体过程参照附录ClickHouse脚本。3SQL查询
  在DolphinDB中,可以使用SQL快速实现4个设备状态查询需求,并且代码十分简洁。案例1:查询某个设备最近的100条记录:noiseloadTable(database(dfs:NoiseDB),noise)selectfromnoisewheredate2022。01。01andtenantId1055anddeviceId10067orderbytsdesclimit100timer(10)select。。。Timeelapsed:24。33ms
  脚本的where条件语句中指定了分区列date和tenantId进行过滤,便于DolphinDB系统通过分区剪枝快读定位到对应的分区。同时指定了数据库的sortkey(deviceId)作为过滤字段,利用TSDB的索引机制,可以快速定位到数据块,并按时间顺序取回最新的100条记录。平均一次查询耗时2ms,未命中缓存的首次查询耗时14ms。案例2:查询某个租户所有设备最新状态noiseloadTable(database(dfs:NoiseDB),noise)selectfromnoisewheredate2022。01。01andtenantId1055contextbydeviceIdcsorttsdesclimit1timer(10)select。。。Timeelapsed:246。619ms
  该脚本在where条件语句中同样指定了分区列以快速定位到对应的数据分区。通过contextby子句来根据设备ID将数据进行分组,每组数据通过csort子句按时间倒序排列(考虑到物联网存在消息乱序的情况,必须使用csort将数据按采集时间排序)。使用limit1获取每个窗口内的最新的一条记录,从而获取该租户当日所有设备的最新状态。平均一次查询耗时25ms,首次查询耗时121ms。案例3:查询某个设备5分钟内的噪声统计值noiseloadTable(database(dfs:NoiseDB),noise)selectmin(ts)asstartTs,max(ts)asendTs,max(soundPressureLevel),avg(soundPressureLevel),max(soundPowerLevel),avg(soundPowerLevel)fromnoisewheredate2022。01。01andtenantId1055anddeviceId10067andtsbetween2022。01。01T00:50:15。518:2022。01。01T00:55:15。518groupbytenantId,deviceIdtimer(10)select。。。Timeelapsed:22。168ms
  该脚本首先根据where指定的过滤条件定位并扫描数据块,取出对应时间段的数据,并按tenantId,deviceId进行聚合计算,以获取声音分贝、功率的统计值。平均一次查询耗时2ms,首次查询耗时13ms。案例4:查询某个设备最近一天的明细数据noiseloadTable(database(dfs:NoiseDB),noise)selectfromnoisewheredate2022。01。01andtenantId1055anddeviceId10067orderbytstimer(10)select。。。Timeelapsed:23。261ms
  该脚本首先根据where指定的过滤条件定位并扫描数据块,取出对应时间段的明细数据,并按采集时间排序。平均一次查询耗时2ms,首次查询耗时16ms。
  注:首次查询指未命中数据库缓存及操作系统缓存的查询。4对比测试
  进一步测试DolphinDBTSDB引擎与OLAP引擎,以及ClickHouseMergeTree引擎在上述数据集的时序查询性能。测试过程中尽可能地保持环境变量相同,以保证科学有效。具体测试脚本详见附录。4。1测试环境测试机器配置
  操作系统:CentOS7
  CPU:2cores
  内存:10G
  磁盘:SSD核心测试参数
  对测试中影响性能的关键参数,保持对等一致。
  软件信息
  核心参数
  库表设计
  DolphinDB:2。00。6单节点
  memSize8GTSDB引擎OLAP引擎
  partitionedbytenantId,datesortColumns〔deviceId,ts〕
  ClickHouse:22。6。1单节点
  maxservermemoryusage8GMergeTree引擎
  partitionbytenantId,dateorderbydeviceId,ts
  测试时,DolphinDB和ClickHouse均采用单节点,并分配8G最大内存。在引擎方面,DolphinDBTSDB引擎,ClickHouseMergeTree引擎的内部实现都采用了LSMtree。并保持库表设计完全一致。时间衡量标准
  由于端到端的时间,容易受到网络抖动和客户端实现性能的影响,因此本次测试的测量时间设定为从查询引擎接收到请求至计算出结果为止。
  4。2测试结果
  三者的具体测试结果为下表,表中数值为平均耗时首次查询耗时(单位ms),平均耗时的计算逻辑为:
  平均耗时(首次耗时9次缓存命中耗时)10
  测试用例
  场景
  DolphinDBTSDB
  DolphinDBOLAP
  ClickHouse
  case1
  查询某个设备最新100条记录
  214
  3451
  14150
  case2
  查询某个租户所有设备的最新状态
  25121
  62170
  73400
  case3
  查询某个设备5min的噪声统计值
  213
  15136
  1282
  case4
  查询某个设备最近一天的明细数据
  216
  24220
  22200
  可以看出,OLAP引擎和ClickHouse在不同的查询场景下性能各有其优势和劣势。
  而TSDB引擎性能均优于ClickHouse,在相对复杂的点查场景性能差距更大。在场景4下,DolphinDBTSDB引擎比ClickHouse的性能高12。5倍,首次查询高13倍。在该场景中,TSDB引擎需要读取对应设备的10000条记录,压缩后的存储大小约为90K。存储在6个连续的Block中,读取效率非常高效。而ClickHouse则是scan了该分区下1000000条记录的数据块,因此两者的首次查询性能差距较大,而缓存后的性能差距主要取决于两者在计算性能上的差别。5总结
  DolphinDBTSDB引擎在物联网场景有着卓越的点查性能,可以以毫秒级延时迅速响应设备的状态信息,其性能更优于ClickHouse的MergeTree引擎。6附录跳转中。。。
  跳转中。。。

劲爆!韦神天书笔记大火传递信号多多天才也需要努力和坚守近日,北大韦东奕手写笔记在网上流传,网友惊叹一是不算漂亮二是认真规范三是看不懂四是果然数学的尽头是字母。北大韦东奕,因被采访时眼神迷离,头发凌乱,身着朴素,一手提着一袋大馒头,另一多散步对血管好?医生建议上了年纪,坚持做这3件事也很重要52岁的周叔在之前那可是出了名的不爱运动,每天就是吃吃睡睡上上班,甚至有时候连上下班都不想走路,只想开车。但是最近,周叔好像变了一个人一样,不仅每天上下班走路,晚上吃过饭后也会出去比亚迪电子公司为华为P60手机后盖主力供应商IT之家3月24日消息,在昨日举行的华为春季新品发布会上,华为P60系列正式登场。华为P60系列延续P系列设计哲学,采用经典相机布局搭配全新玲珑四曲屏。对此,比亚迪电子今日表示,作星系形成和演化的物理过程研究星系形成和演化的物理过程是天文物理学中一个重要的研究领域。星系是由大量恒星星际介质暗物质等组成的天体系统,它们不仅是宇宙中最大的结构体,也是研究宇宙演化和宇宙学的重要窗口。星系形成科学家揭示纳米石墨烯具有强催化活性,为研究碳材料带来全新视角一直以来被普遍认为具有化学惰性的完美晶格石墨烯,竟然可以直接用作催化剂。近日,来自英国曼彻斯特大学的研究团队通过实验证明,表面具有纳米尺度褶皱的单层石墨烯,在催化裂解分子氢方面呈现对牙膏生产颁发化妆品生产许可证,这项办法今年12月1日起实施近日,市场监管总局发布牙膏监督管理办法,自2023年12月1日起实施。牙膏既是日用消费品,更是与人民群众健康密切相关的产品。新修订的化妆品监督管理条例明确规定牙膏参照有关普通化妆品广东深耕边(跨)境经济助推区域经济高质量发展本报记者陈靖斌广州报道长期以来,边(跨)境经济合作区都是我国深化与周边国家和地区合作推进高质量共建一带一路的重要平台,也是沿边地区经济社会发展的重要支撑。近日,商务部等17部门印发金融科技服务经济提质增效的同时,仍需关注算法偏见21世纪经济报道记者边万莉北京报道数字经济是当前我国经济增长的核心动力之一,数字金融服务数字经济的发展,是当前世界各界高度关注的一个问题。金融科技发展与创新应用如何助力实体经济发展泰康人寿与北京大学经济学院共同推出领泰计划中证网讯(记者薛瑾)3月24日,泰康人寿与北京大学经济学院签署战略合作协议,共同推出领泰计划,双方将在人才培训人才招聘学术活动及课题研究等四个领域拓展合作。据介绍,本次签约双方将合ChatGPT人工智能回答一个人怎么打发时间一个人怎么打发时间一个人怎么打发时间有很多方式可以打发时间,以下是一些可能的建议读书选择一本自己感兴趣的书籍,放松心情,享受阅读的乐趣。学习利用这段时间学习新知识,可以选择一门感兴莫名收到美团送的水杯,谨防诈骗图片来自网络,侵权秒删前两天吃完饭准备去遛狗我姐突然收到菜鸟驿站的短信提醒我们几个都说没买东西就想着遛完狗顺路取回来看看是啥如果是谁忘记了自己的快递谁发红包憨笑憨笑憨笑憨笑憨笑取回
放开后,美团外卖还有什么隐患?最近,由于骑手大幅减少,各大外卖平台的送餐速度大幅下滑,一个小时已经算快,严重影响了用户体验。对此,外卖平台推出了鼓励骑手多接单吸引新骑手的政策。此前,节点财经关注到饿了么在12月赛分科技冲刺科创板年营收1。5亿拟募资8亿复星与高瓴是股东雷递网雷建平12月31日苏州赛分科技股份有限公司(简称赛分科技)日前递交招股书,准备在科创板上市。赛分科技计划募资8亿元。其中,3。34亿元用于20万升年生物医药分离纯化用辅料,1数字经济在创新中跑出加速度通信基站。资料图片全国共110个城市达到千兆城市建设标准,平均每万人拥有22。2个5G基站5G电话用户总数再创新高,5G套餐用户数突破10亿移动物联网连接数达到16。98亿,在连接医疗科技行业细分赛道分析一医疗科技主要细分赛道发展成熟度评估成熟度评估模型及标准本报告中,考虑到我国医疗卫生服务体系并以患者为第一视角,将医疗科技行业大致划分为政府统筹医院管理产品服务服务用户产品用户智能湖南新零售品牌获评2022创业邦100未来独角兽来源华声在线华声在线12月30日讯(全媒体记者刘奕楠通讯员易礼钧)12月29日,创业邦100未来独角兽峰会暨2022创业邦年会在上海举行。凭借在新消费生活领域的创新表现与发展潜力,松勤软件测试很详细的Django开发入门详解(图文并茂)1。Django概述Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。Django框架的核心组件有用于创建模型的对思域TypeR领衔!三款重磅燃油新车亮相广州车展有一款还是大八座当新能源特别是纯电动汽车大行其道的时候,还是有不少的传统汽车品牌在本届广州车展上亮相了燃油版新车,例如加长版的路虎卫士130丰田皇冠SportCross以及本田全新思域TypeR,揭开丰富多彩的性取向的生物密码点击蓝字关注我们性取向(SexualOrientation),又称性偏好或性向,是描述一个人性渴望性幻想和感觉的对象。目前,人类一共定义了15种性取向,其中常见的是异性恋同性恋及双时尚动感十足的思皓花仙子近期油价还在不断上涨,网上加油的段子也是越来越多,更有大佬指出,随着油价的不断上涨,加电要比加油来得更加省钱,5年10万公里计算,加电比加油节省8万多,足够买四个LV或者爱马仕。虽因难产早逝的康熙大帝皇后赫舍里氏(以文会友,不足之处欢迎点评指正,创作不易加个关注以求进步)赫舍里氏生于公元1653年,因为难产死于公元1674年。满洲正黄旗人,是辅助大臣索尼的孙女,她的祖父索尼历经太祖,太宗,利兹联vs西汉姆联自从进入英超以来,利兹已经进入了第三个赛季,他们的排名一直都是中下游,上个赛季,他们的排名是第17位,勉强保住了自己的位置。这支球队的雄心壮志已经很明显了,他们在这个夏天投资了一亿
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网