摘要:在HDZ城市行广州站中,来自华为云华为云数据库创新Lab向宇从时序数据库的技术角度,解读一下华为云时序数据库GaussDB(for Influx)如何应用在智慧健康养老行业。

本文分享自华为云社区《拥抱时序数据库,构筑IoT时代下智慧康养数据存储底座》,作者: 技术火炬手  。

随着 IoT 技术的快速发展,物联网设备产生的数据呈爆炸式增长。这些数据通常随时间产生,称之为时序数据。这样的一种专门用于管理时序数据的数据库被称为时序数据库。

时序数据库是当前物联网 IoT垂直领域最为合适的数据库解决方案。作为物联网下火热的智慧健康养老应用,时序数据库能为智慧健康养老行业带来哪些贡献?华为云数据库专家向宇解读了时序数据库在智慧健康养老行业应用之道。

时序数据库助力智慧健康养老场景化应用

从智慧健康养老的全场景图看到,智慧健康养老整体上分为4个部分:

1. 设备:包括穿戴设备(比如手环,可以记录步数和心率)、环境监测设备(比如室内室外温度传感器)和医疗健康设备(比如血压仪、血糖仪)。这些设备产生的数据需要上传到平台或系统服务进行统一存储,为更上层的应用提供基本的数据输入。

2. 数据存储层:相同功能但不同厂商的设备产生的数据格式可能不尽相同。再者,随着业务的发展,可能还会接入更多类型设备,数据量也会越来越大。考虑业务变更和数据库性能,为最大程度降低对上层应用的影响,把设备数据与其他业务数据分开存储。

3. 服务层:平台对外提供的能力,比如安全预警、健康风险评估、其他养老事务管理功能等。

4. 端侧应用:基于平台提供的服务,可以开发出APP,利用APP把老人、子女、机构工作人员三类用户联系起来,例如:子女可以通过手机APP实时查看自己父母的运动情况,健康指标,工作人员可以在终端提交工单等等)。

面对养老行业的痛点,云芯科技、蓝色健康和智康科技三家企业与华为云在底层系统、数据存储等方面的合作,在平台服务层面,正在努力实现这些智慧养老的服务应用。点击查看《用技术变革传统康养行业,智慧养老的正确打开方式》。

在物联网等领域,特别是智慧康养场景下,我们发现有这么一些数据,他们都有时间属性,有设备描述信息,有采集的数据指标。举个例子,如下图所示:

第一列是数据产生的时间,第二列是设备编号,后面是采集的数据内容,如体温、心率等。我们把数据划分为三个部分,时间部分称为时间戳,设备编号等描述设备信息的部分称之为数据的标签,剩余部分描述了采集的具体指标,称之为指标项。像这样的数据,我们就称之为时序数据,因为它有明显的时间属性。那么这些时序数据,都是有自己的特点:

• 不变性:时序数据在写入后,一般不会被修改。这个特征非常适用于压缩,不因修改某个数据对整个数据块进行修改。

• 时效性:时间越近的数据被访问的概率大,时间越是久远,数据被访问的概率越低。因此,对于时序的热数据,可以采用压缩和解压速度比较好,压缩率合理的压缩算法,而对于冷数据,非常适合使用更高压缩比的算法。

• 数据量庞大:时序数据的采集类型丰富, 随着采集硬件的普及和采集频率增加,使得数据量出现暴增,比如自动驾驶中每辆车每天就会采集将近 8T 的数据,带宽、实时写入、快速查询、存储、耗电以及维护成本都是挑战。

• 数据使用冷热:用户可能对某些数据源或者时间段的关注远远超过其他,因此在海量数据中偏向某些特殊时间段或某些数据源的数据查询。

时序数据库如何选?

从我们的企业应用的情况来看,目前存放时序数据采用的数据库各种各样,有用关系数据库存放,有用NOSQL数据存储(比如HBASE,Cassandra,MongoDB),还有就是用到了时序数据库。我们总结了一下选型数据库之前需要考虑的一些问题。

• 成本:分为运维成本和存储成本,比如用HBASE存储,它的技术栈很长,底层存储使用的是HDFS。运维就需要一个人既懂时序数据库,又要懂大数据平台,成本比较高。其次,数据量逐渐的增加,存储需要不断的扩容,成本随之上来了。所以,既要选择部署便捷、扩容操作简单,又要能提供数据压缩的数据库。

• 性能:不同的业务对数据库的性能需求是不一样的,需要考虑今后业务规模增加后,数据库能不能支撑预期的设备数量和数据量。

• 业务变更:对于物联网而言,由于缺乏标准,各式各样的设备都有可能接入,有的设备可能只有2列数据,有的设备可能有3列数据,这就要求数据库支持Schemaless。

• 生态:主要是时序数据库上下游接口的问题,选择的数据库需要考虑其技术生态,数据要能进的来,出的去。比如用了SQLServer存时序数据,想用Granfana展示数据就很困难。

• 数据分析:设备数据被存储下来,最终是需要通过数据分析挖掘数据隐藏价值,还要考虑数据库是否支持数据分析平台。

鉴于上述行业中存在的问题,以及对未来物联网发展的信心,华为云自研GaussDB(for Influx)基于华为自研的计算存储分离架构,兼容InfluxDB生态的云原生NoSQL时序数据库。提供大并发时序数据读写、压缩存储、多维聚合以及一键部署、快速备份恢复、计算存储独立扩容、监控告警等服务能力,可以完全满足康养的需求。

GaussDB(for Influx)时序数据库依靠华为在数据存储领域多年的实践经验,整合华为云的计算、存储、服务保障和安全等方面的能力,大胆在架构、性能和数据压缩等方面进行了技术创新,达到了较好的效果,对内支撑了华为云基础设施服务,对外以服务的形式开放,帮助上云企业解决相关业务问题。

GaussDB(for Influx)接口完全兼容InfluxDB,写入接口兼容OpenTSDB、Prometheus和Graphite。从架构上看,一个时序数据库集群可以分为三大组件。它们分别是:

• Shard节点:节点采用无状态设计,主要负责数据的写入和查询。在节点内,除了分片和时间线管理之外,还支持数据预聚合、数据降采样和TAG分组查询等专为时序场景而优化的功能。

• Config集群:存储和管理集群元数据,采用三节点的复制集模式,保证元数据的高可靠性。

• 分布式存储系统:集中存储持久化的数据和日志,数据采用三副本方式存放,对上层应用透明。存储系统为华为自研,经过多年产品实践检验,系统的高可用和高可靠性都得到了验证。

华为云时序数据库应对智慧康养应用场景有妙招

在面对AIoT物联网典型应用场景中,时序数据库每天会产生数GB甚至数TB的时序数据。如果无法对这些时序数据进行很好的管理和压缩,那将会给企业带来非常高的成本压力。

GaussDB(for Influx)对数据采用列式存储,相同类型的数据被集中存储,更有利于数据压缩。采用自研的时序数据自适应压缩算法,在压缩前对数据进行抽样分析,根据数据量、数据分布以及数据类型选择最合适的数据压缩算法。在压缩算法上,相比原生的InfluxDB,重点针对Float、String、Timestamp这三种数据类型进行了优化和改进。

• Float数据类型: 对Gorilla压缩算法进行了优化,将可以无损转换的数值转为整数,再根据数据特点,选择最合适的数据压缩算法。

• String数据类型:采用了压缩效率更好的ZSTD压缩算法,并根据待压缩数据的Length使用不同Level的编码方法。

• Timestamp数据类型:采用差量压缩方法,最后还针对数据文件内的Timestamp进行相似性压缩,进一步降低时序数据存储成本。

下图是分别采用实际业务场景的事件日志数据(数据集1)和云服务器监控指标数据 (数据集2)与InfluxDB进行了数据压缩效率的性能对比。

节约存储成本并非只有数据压缩一种办法。针对时序数据越旧的数据被访问的概率越低的特点,GaussDB(for Influx)提供了时序数据的分级存储,支持用户自定义冷热数据,实现数据的冷热分离。热数据相对数据量小,访问频繁,被存储在性能更好、成本较高的存储介质上;冷数据相对数据量大,访问概率低,保存时间较久,被存储在成本较低的存储介质上,进而达到节约存储成本的目的。根据实际业务数据测算,相同数据量下存储成本仅有关系型数据库的1/20。

除了产品本身的技术优势特点,GuassDB(for Influx)能够开箱即用,用户只需要关注应用层就可以,不用关注运维。在使用的过程中,不需要去特意学习新的产品技术,会SQL就可以使用。GaussDB(for Influx)还兼容Influx 生态,整个生态下的工具、接口等都可以直接应用。

从数据安全角度看,GaussDB(for Influx)在容灾备份方面,支持异地3AZ,可以让数据存储在不同的城市,这样确保数据的安全性。

在智慧康养场景下,最重要的是如何基于数据分析,来进一步为用户带来更好的产品服务。GuassDB(for Influx)还提供数据分析平台,能够和数据库融合在一起,可以把相关算法以热插拔的方式嵌入到平台中,从数据库直接读取数据进行分析,最终应用在相对应的场景下。这两边是以相互感知的形式,分析感知存储,从而轻量化存储分析开销。不管企业在什么地方,基于GuassDB(for Influx)能够解决康养企业的数据孤岛问题,实现价值共享。

据悉,GuassDB(for Influx)的开源计划正在进行中,开源的名字叫GeminiTSDB,兼容Influx DB接口,采用类SQL查询语言,提供单机和分布式集群两种部署模式,安装简单,部署灵活,无须外部依赖,具有高可用、高性能、低时延、低存储成本、扩展灵活等优点,希望大家多多关注!

点击关注,第一时间了解华为云新鲜技术~

拥抱时序数据库,构筑IoT时代下智慧康养数据存储底座相关推荐

  1. 时序数据库:基于Chronograf对时序数据库InfluxDB(限流监控Sentinel的监控数据存储) 进行监控大屏展示

    文章目录 前言 一.架构 二.工具 三.安装 四.大屏 总访问量 最近一小时访问量 最近一小时限流数 最近一小时异常数 最近一小时的访问趋势图(秒级别) 最近12小时资源访问排名 五.预警 六.小结 ...

  2. 互联网+时代下智慧城市发展五大趋势,你get到了吗?--甲由

    关于趋势,人们总是高估短期(2到3年)的影响,但往往低估5年后或更长期出现的新趋势对社会.媒体.文化甚至是人们生活方式的影响.比如乔布斯也不会想到智能手机和移动互联网的出现对今天人们生活的影响.智能硬 ...

  3. 云时代下,传统和新型存储的博弈已经开始

     云时代下,传统和新型存储的博弈已经开始 ICT架构师技术交流 (微信号ICT_Architect) 分析和交流ICT行业最前沿技术,分享更多存储.服务器.数据中心.网络.软件定义和虚拟化等相关知 ...

  4. 深开鸿携手深业健康、家具协会打造智慧康养新模式,推动行业新标建设

    11月4日,第四届华为开发者大会(HDC 2022)正式开幕,大会以"以创新照见未来"为主题,通过主题演讲.技术论坛等多个环节全面展示了鸿蒙生态的创新应用成果. 在11月5日上午的 ...

  5. 华为云发布【云巢】智慧康养物联网加速器,加入立享多项扶持

    摘要:寻找100家智慧康养物联网潜力股,等你加入. 本文分享自华为云社区<华为云发布[云巢]智慧康养物联网加速器,加入立享多项扶持>,作者: 技术火炬手 . 13.5%,这是七普数据里中国 ...

  6. 签约多方共建石嘴山智慧康养新模式

    5月13日,百度智能云与石嘴山市民政局.中国电信股份有限公司石嘴山分公司.中国银行股份有限公司石嘴山市分行.石嘴山市青鸟颐居养老服务有限公司在宁签订<石嘴山市智慧康养战略合作协议>,将发挥 ...

  7. 【高热FAQ】关于智慧康养物联网加速器 ,你想知道的都在这

    摘要:从软硬件解决方案.设备接入到资源扶持,一文梳理智慧康养物联网加速器中ISV最关心的问题. 本文分享自华为云社区<[高热FAQ]关于智慧康养物联网加速器 ,你想知道的都在这>,作者:技 ...

  8. 5G、IoT 时代下,手机聚焦拍照是否走错了方向?

    作者 | 夏凯 责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 小米在2月13日发表了旗下的数字系列旗舰小米10代,作为小米首款冲击高端的产品,小米10注定要背负许多的争议,而在小米CC ...

  9. 中国高校首个Apache开源项目 清华数为物联网时序数据库IoTDB 及可自由组装的大数据软件栈系列组件发布...

    四月的清华园,百花冠冕,春意盎然. 4月25日,清华软件学院师生校友相约云端,共贺清华大学109周年校庆,软件学院建院19周年. 由于疫情防控需要,软件学院通过腾讯会议和学堂在线在线直播方式,举办&q ...

最新文章

  1. 厌倦了枯燥的CRUD,是时候寻找下一个突破点了
  2. [转载 css]word-wrap,word-break,white-space,text-overflow的区别和用法
  3. ubuntu共享无线链接
  4. win10计算机里文件夹怎么删除文件,如何删除win10“此电脑”中6个文件夹?
  5. qq数据泄露_如何保护企业移动端的数据安全?
  6. TensorFlow 1.12.2 发布,修复 GIF 构造安全漏洞
  7. 壁式框架内力计算_4种类型剪力墙的计算要点
  8. jquery 获取索引值在一定范围的列表
  9. 超声声场模拟_3D打印全息透镜聚焦超声在低成本脑成像中的应用
  10. java 铁三车强度如何_骑行入门:铁三车与TT车,傻傻分不清楚?
  11. linux命令psd,Linux 下查看 Photoshop PSD 文件
  12. 获取chrome的network内容并选择下载其中的资源
  13. wh计算公式_电池上的那个Wh是什么意思??? 1wh等于多少mah
  14. React脚手架搭建及创建React项目
  15. java 变量监听_java main函数里面的变量i怎么获取addActionListener监听里jtf_username.getText()的值?...
  16. 四舍六入五成双并保留一位有效位-数据修约
  17. iapp获取桌面壁纸
  18. android 控制中心os,Phone X Launcher, OS 11 iLauncher Control Center
  19. 浅谈快件清关与邮关的区别
  20. FTP测试手机软件图标素材可爱,手把手教你测试FTP

热门文章

  1. 作死 | 程序猿的花式作死,因为你的幽默,你的前途有了!
  2. 定制Bootstrap
  3. 二进制和八进制表示法
  4. PX4代码解析(2)
  5. php如何检查对象的类型,如何在PHP中检查对象的特定类型
  6. matlab考试题烟台大学,徐骞-计算机控制与工程学院
  7. destroy意思中文翻译_destroy是什么意思_ destroy的翻译_音标_读音_用法_例句_爱词霸在线词典...
  8. oracle standby审计,监控oracle standby
  9. 计算机网络常见的无线传输有,第八讲 计算机网络基础.doc
  10. matlab中fval函数,请问matlab中[x,fval,exitflag,output] = simulannealbnd(fun,...)函数怎么调用...