一、物联网时代数据存储的市场及趋势
十四五规划中,划定物联网作为7大重点数字经济产业之一,推进市政公用设施、建筑等物联网应用和智能化改造;培育车联网、医疗物联网、家居物联网产业。
数量越来越大,种类越来越多,速度越来越快,价值越来越重。
2021年IoT技术进入稳步爬升复苏期,IoT平台数字孪生3~6年。
二、物联网时代数据存储的机会和挑战
(一)挑战一:数据协同
- 数据协同,运营治理复杂度高
如上图所示,这是一个经典的物联网场景下风力发电数据协同的问题。
从左往右看,分为三部分:设备关系数据,设备元数据,设备运行时数据。
风机组由许多风机组成,风机间的关系称为设备关系数据。
每个风机上有自己特殊的设备属性,例如风机厂商、型号以及ID等,这些都属于设备元数据。
风机上有很多的传感器,传感器采集风速、功率、地理位置等,这些称为设备运行时数据。
对于这一系列的数据,需要具备一系列的处理能力。例如查看设备最新的状态,查看设备间的层次关系,设备采集数据类型动态改变以及设备的事件服务等。
- 物联网数据协同带来的运营治理复杂
针对上述物联网数据集,可以上图概括。
元数据放到关系型数据库MySQL中,运行时的追踪数据、日志等数据放到HBase中,指标等数据放在时序型数据库InfluxDB中,设备关系数据放到图型数据库Neo4j中。事件报警处理、设备元数据回溯等数据放到检索分析服务中。
但是我们发现,上述方案在实际操作中遇到不少问题,如系统运维复杂、开发门槛高、数据在不同数据库间冗余搬迁、用户体验差、关联查询困难等。
(二)挑战二:高并发吞吐
随着5G网络的发展,许多业务升级带来了爆炸性增长的数据,各种各样高并发写入查询吞吐的场景随处可见,以物联网平台和电网(工业互联网)为例。
Ø 物联网平台
1)10,000 设备 x 200项监控指标
2)每5秒 1,000,000 点写入
3)查询指定设备的部分监控指标
4)监控指标按条件聚合查询
5)监控异常设备分析,未来趋势预测
Ø 电网(工业互联网)
1)90,000,000 用户 x 20项监控指标,每月采集一次指标,每年216亿测点;
2)查询所有用户每月用电量总和
3)查询所有用户的指定指标
4)查询各区域/线路总使用情况(按需聚合)
以上场景无论是写入还是查询,都将对底层网络表的Scan、IO的开销等带来巨大的挑战。
(三)挑战三:极高的存储成本
庞大的数据量也带来极高的存储成本,以车联网为例。
Ø 车联网(IoT)
1)20,000 辆车 x 60项监控指标;
2)每秒 1,200,000 点写入,每小时73.8GB 数据;
3)查询 20,000 辆车最新的某个指标;
4)查询指定的 10 辆车,10个指标,1天、7天、1个月的平均值。
两万辆车每小时产生上百GB的数据,当发生事故时,可能需要回溯车辆一周、一个月甚至一年的历史数据,这将带来PB级别的存储规模,这就对低成本的要求越来越高,解决的方法有冷热分层、计算存储资源解耦等,通过低成本的存储建设,实现编码压缩,建立数据特征等。
(四)机会一:多模超融合
各种各样的挑战也带来了许多机遇,例如多模超融合基础框架。
纵观目前最流行的数据库TOP20,其中三分之二的数据库都具有多模能力。因此,可以将物联网场景中的数据通过不同的数据模型统一存储,通过统一的接口访问,从而达到模型融合的能力。
(五)机会二:云原生+分布式
在超融合基础上统一存储查询和多模架构,我们希望进一步借助云计算资源的红利,实现云原生+加分布式。分布式的扩展可以将数据扩展到上千台,达到千万级别的访问能力。
同时,针对物联网的特性,可以实现原生的特征,比如流式计算,把存储和计算分离之后,把计算资源池化,然后资源按需按量的弹性响应。
未来互联网数据由于其多样化的特性与逐渐增大的规模,一定会带来弹性扩展能力。通过分布式Serverless技术形态,可以做到规模从小到大的弹性伸缩。针对这些机会和挑战,阿里做了一款产品Lindorm,目前已经在物联网的多个行业得到应用,下面阐述Lindorm在物联网中的最佳实践。
三、Lindorm在物联网中的最佳实践
(一)Lindorm产品介绍
如上图所示,为了迎接物联网和AIoT数据存储挑战,我们将多模引擎,包括宽表、时序、搜索和文件等四类引擎统一处理,底层通过统一的存储引擎,上面通过统一的网络接口,实现整套云原生多模数据库Lindorm,它主要解决物联网时代海量数据低成本存储和处理的问题。
Lindorm可以广泛运用于物联网AIoT、大数据存储、数据湖存储中心、交互实时存储等场景。
在整体架构的基础上,Lindorm具备了与物联网时代相吻合的产品能力,如云原生架构、灵活弹性、高效低成本、多模计算与开源生态兼容。
(二)Lindorm面向物联网的产品特性
1.超融合
如上图所示,超融合能力分成不同的阶段实现。
第一个阶段是打通底层多模原生能力。我们看到时序、宽表、搜索以及文件等数据配合得越来越紧密的趋势,在物联网场景下,不同类型的数据使用不同的模式存储。通过不同引擎,不同数据访问模型,实现多模引擎的统一和融合。
第二阶段是统一访问生态兼容。可以通过Lindorm SDK + 统一 SQL 访问,进而降低复杂度,然后实现一套接口的访问。对于开发者来说,对底层引擎的感知度越来越低,甚至无感知。
第三阶段实现全链路生态融合,Lindorm面向整个开源生态不同品牌做无缝的融合。
2. 云原生+分布式
Ø 物联网原生特性
1)原生垂直引擎高吞吐
2)动态数据类型
3)多维检索
4)状态点查
5)流式预聚合
6)边云一体
Ø 云+分布式
1)水平扩展至千万级别规模
2)存储计算分离
3)IoT云资源深度集成
4)Serverless形态
3.低成本
冷热分层存储:内存、磁盘(本地盘、⾼高效云盘、ESSD 云盘)、OSS 数据分层存储,降低存储成本。
热数据:近期热数据缓存在内存,保障高效访问;基于时序特性,一份 Cache 同时用于读写。
温数据:内存数据存储到磁盘持久化,根据应用场景,可选择标准型、容量型、性能型等不同特性的存储。
冷数据:长期不访问的历史数据,支持自动归档到 OSS 冷存储
高效压缩:定制化时序压缩算法,压缩比>10:1。
TTL:自定义数据保留策略,自动淘汰。
(三)物联网场景
Lindorm兼容多种开源标准接口,支持车联网、工业物联网等场景与Spark、Flink等多种计算引擎互联互通,无缝对接主流数据生态。
1.物联网平台
- 物联网平台场景中的数据
上图为一个物联网平台业务架构图,我们可以看到它是有很多采集,还有边缘和云。
边缘上有一些硬件,由边缘侧自动同步到云端去实现分析应用的赋能以及数据的管理,最后形成一个云端的决策,下放到Local边缘,并且指导整体业务的应用,做企业级的决策。
- Lindorm在物联网平台中的数据存储方案
如上图所示,我们将物联网上不同类型的数据分到不同的存储类型数据库上存储,底层统一通过云原生多模数据库Lindorm去管理这些数据。
在物联网平台下的高可用,我们内部做了一个通道去做数据的自动读写分离等能力。
2.工业互联网
工业互联网方案
可以看到,工业互联网中主要是IT与OT的融合,去指导资产的评估,维护与修复整体流程。
电网方案(工业互联网)
在这个方案中,Lindorm主要解决了以下客户需求/痛点:
1)多样化数据存储,多套系统联合解决;
2)混合云为主,工业边缘侧、边云数据融合;
3)行业特征的计算能力。
3.车联网
- 车联网中的数据
汽车企业在生产系统中采用云战略实现上云上平台,一方面可以解决过去难以解决的各个系统互联互通问题,另一方面,可以通过推进产业互联网平台,为各地域的工厂(不一定是同一家公司)之间共享信息提供基础条件。
- 车联网中的数据存储方案
使用Lindorm存储车联网中的行使轨迹、车辆状况、精准定位等重要数据,提供低成本、弹性、灵活可靠的能力,帮助用户构建高效的网约车、物流运输、新能源车检测等场景服务。
上方为一个典型的Lindorm车联网的方案,通过智能终端、租赁设备、传感器等方式收集数据,接着通过实时流数据处理平台与批量数据处理平台传到Lindorm中,最终实现设备实时追踪、运行期风险态势感知、用户行为/体验分析、实时安全管控等应用功能。