IoT 物联网海量时序数据存储最佳实战

您所在的位置:网站首页 大数据中心存储设备有哪些 IoT 物联网海量时序数据存储最佳实战

IoT 物联网海量时序数据存储最佳实战

2024-07-05 03:11| 来源: 网络整理| 查看: 265

随着 5G/IoT 物联网技术的飞速发展,IoT 设备产生的时序数据也呈爆炸式增长,数据的总量(Volume)、数据类型(Variety)越来越多、访问速度(Velocity)要求越来越快、对数据价值(Value)的挖掘越来越重视。

物联网设备产生的数据通常都具备时间序列特征,面对 IoT 垂直领域数据存储与处理需求时序数据库应用而生。

▌时序数据存储的挑战

1.时序数据业务场景

物联网、车联网、智能家居、工业物联网是时序数据最典型的应用领域,海量的设备持续产生运行时指标数据,对数据的读写、存储管理都提出了很大的挑战。

2 .时序数据的特征

在IoT物联网场景里,设备数据的产生、存储、访问都有比较明显的规律,相比当前互联网典型的应用特征有比较大的区别。

结合物联网业务的特征,要满足大规模时序数据存储需求,必须面对如下的几个核心挑战:

3.时序数据库发展史

从2014年开始,陆续有针对时序数据存储设计的数据库诞生,尝试解决时序数据存储在高写入吞吐、横向扩展、低成本存储、数据批量过期、高效检索、简单访问与时序数据计算等方面面临的挑战。

时序数据库经过近些年的发展,经历了以下四个阶段:

▌Lindorm TSDB 架构设计思考

1.Lindorm 云原生多模数据库

阿里云推出云原生多模数据库 Lindorm ,致力于解决5g/IoT 时代海量多类型低成本存储与处理问题,让海量数据存得起、看得见。

Lindorm TSDB支持宽表、时序、搜索、文件等多种模型,满足多类型数据统一存储需求,广泛应用于物联网、车联网等场景。

2 .Lindorm TSDB 核心设计理念

Lindorm TSDB 做为下一代时序数据库,在架构升级过程中,我们认为时序数据库的发展会有如下趋势:

因此,我们构建了云原生多模数据库 Lindorm,支持宽表、时序、搜索、文件等多种常用模型,解决物联网/互联网海量数据存储的常见需求,其中 Lindorm TSDB 采用计算存储分离的架构,充分利用云原生存储基础设施,定制时序存储引擎,相比业界的解决方案更具竞争力。

▌Lindorm TSDB 关键技术

1.时序定制存储引擎

Lindorm 基于存储计算分离架构设计,以适应云计算时代资源解耦和弹性伸缩的诉求,其中云原生存储分布式存储 Lindorm Store 为统一的存储底座,向上构建各个垂直专用的多模引擎,包括宽表引擎、时序引擎、搜索引擎、文件引擎。LindormStore 是面向公共云基础存储设施(如云盘、DBFS、OSS) 设计、兼容 HDFS 协议的分布式存储系统,并同时支持运行在本地盘环境,以满足部分专有云、专属大客户的需求,向多模引擎和外部计算系统提供统一的、与环境无关的标准接口。

基于云原生分布式存储 LindomStore,Lindorm TSDB 采用针对写入优化的 LSM Tree 结构来存储时序数据,并结合时序数据的特征,在日志写入、内存组织结构、时序数据存储结构进行时序压缩,最大化内存利用效率、磁盘存储效率;同时在 Compaction 策略上也针对数据通常有序产生的特征进行优化。通过引擎自带的 WAL 日志,Lindorm TSDB 能非常方便的支持实时的数据订阅,以及在引擎内部对数据进行针对性的降采样、聚合等预处理操作。 

Lindorm TSDB 针对时序数据的查询,支持丰富的处理算子,包括降采样、聚合、插值、过滤等。用户的查询请求经过 Parser 解析后,通常分为多个主要的处理阶段,以 Pipeline 的形式高效处理。

Index Scan:根据用户指定的查询条件,基于正排索引 + 倒排索引找出所有满足条件的时间线 ID 集合。

Data Scan:基于第1阶段找出的时间线 ID,从 TSFile 读取对应时间范围的数据。

Aggregation/Filter: 针对第2阶段的扫描结果,对时间线数据进一步的处理,包括在一条时间线上对数据按一定周期进行降采样,或对多条时间线相同时间点上的数据进行聚合(sum、count、avg、min、max等)操作等。

2 .分布式弹性

Lindorm TSDB 具备横向扩展的能力,海量的时间线数据会被分散存储到多个 Shard 中,Shard 是集群中独立的数据管理单元,Shard 内部是一个自治管理的 LSM Tree 存储引擎(参考2.2),包含单独的 WAL、TPI、TSFile 等文件。

在水平方向,时间序列数据会根据 metric + tags 组成的时间线标识,采用 Hash 分片的策略,将数据分到多个节点;在垂直方向(时间轴维度),分到同一个节点的数据,可按照时间维度进行切分,这样每个 Shard 就负责一部分时间线在一定时间范围内的数据管理。

水平方向的分片能保证集群的负载均分到各个节点,后续还会结合业务特征,支持业务自定义的分片策略,优化读写效率;垂直方向(按时间范围)的分片,对于膨胀型时间线场景(比如云原生监控的场景,容器频繁上下线导致大量老时间线的消亡,新时间线的创建)非常有帮助,同时在集群扩容时,也可以借助时间分片策略来尽可能的减小对写入的影响。

3 .TSQL 时序查询

Lindorm TSDB 提供 SQL 访问能力,Lindorm TSDB 的数据模型针对物联网场景高度优化定制,概念上尽量保留开发者对数据库的普遍理解,一个实例包含多个数据库,一个数据库包含多张表,表里存储多个设备的时序数据,每个设备包含一组用于描述设备的 Tag、设备包含多个 Field 指标,新的指标数据随时间持续不断的产生。除了支持常规的 SQL 基础能力,Lindorm TSDB 还定制了 sample by、latest 等算子,用于方便的表达时序降采样、时序聚合、最新点查询等常见的时序操作,简化使用的同时,增强了时序 SQL 的表达能力,让用户使用时序数据库更加简单、高效。

基于 TSQL 查询接口,Lindorm TSDB 还能针对时序数据进行一系列的拓展分析,包括时序数据预测、异常检测等,让应用能更好的发挥时序数据价值。

4 .Serverless支持

Lindorm TSDB 通过时序定制的存储引擎、结合分布式扩展的能力,能很好的满足大规模时序场景的业务需求。但对于一些业务访问较小的应用场景起步成本相对较高,例如在平台级的应用监控、IoT 场景,平台需要管理大量用户的时序数据,而大部分用户的数据规模初期都相对较小,为了进一步降低用户的使用成本,适应从小到大任意规模的时序存储需求,更好的赋能上层的应用监控、物联网类 SaaS 平台服务,未来 Lindorm 将会沿着多租户 Serverless 服务模式持续演进,提升弹性能力。

5 .边云同步

随着 IoT 技术的发展,边缘计算需求日益明显,在智能家居、工业工控、智慧园区、交通大脑等场景,考虑到网络带宽成本等原因,数据通常需要先就近本地存储,并周期性的同步到云端进行进一步分析处理。为了方便边缘侧的部署,Lindorm TSDB 支持边缘轻量级部署的版本,并支持数据全量、增量同步到云端,形成边云一体化的解决方案。

▌时序存储解决方案

1.物联网设备数据存储

Lindorm TSDB 是物联网设备运行数据存储的最佳选择,无缝与阿里云 IoT 平台、DataHub、Flink 等进行连接,极大的简化物联网应用开发流程。例如通过 Lindorm TSDB,你可以收集并存储智能设备的运行指标,通过自带的聚合计算引擎或BI类工具进行智能分析,深入了解设备运行状态。

2 .工业边缘时序存储

Lindorm TSDB 边缘版非常适合工业互联网场景,在边缘侧轻量化输出,与工业设备就近部署,同时支持将数据同步到 Lindorm 云端。例如通过 Lindorm TSDB,你可以实时采集工业生产线设备的运行指标,对产线的运行状况进行分析及可视化,从而优化产线运行效能。

▌总结

从互联网&大数据时代的分布式,到云计算、5G/IoT时代的云原生多模,业务驱动是Lindorm不变的演进原则。面对资源按需弹性和数据多样化处理的新时代需求,Lindorm以统一存储、统一查询、多模引擎的架构进行全新升级,并借助云基础设施红利,重点发挥云原生弹性、多模融合处理、极致性价比、企业级稳定性的优势能力,全力承载好经济体内部和企业客户的海量数据存储处理需求。

Lindorm TSDB 时序引擎面向物联网、工业物联网监控等领域的时序数据存储需求,全面拥抱云原生,并充分利用云原生基础设施,定制时序存储引擎,构建海量低成本的时序数据存储与处理能力,提供边云一体化的时序存储解决方案。未来 Lindorm 引擎将继续在弹性伸缩、低成本海量存储、多模融合、时序流计算等方向持续突破,构建万物互联的数据底座。

往期推荐

1、HarmonyOS 到底是不是Android套壳?

2、5G将是一个彻底失败的通信技术吗?

3、AWS IoT 物联网平台 MQTT 通讯模式

4、IoT平台如何实现 100万/秒消息广播?

5、无GPS模块,IoT设备如何定位?

6、 IoT物联网 4 本好书推荐



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3