物联网分布式存储技术的应用与分析
扫描二维码
随时随地手机看文章
引 言
近年来,随着网络技术和通信技术,特别是无线通信技术的快速发展,人类社会逐渐进入物物相联的时代。虽然物与物之间的信息交换单次信息量不大,但由于终端数量庞大, 将会生成海量数据。如何更好地存储这些数据是物联网络系统建设者需要思考的问题。
物联网行业发展现状
1 20 世纪 90 年代至今,物联网经历了漫长的发展过程。
直到 2009年,物联网被正式列为国家五大新兴战略性产业之一,并写入当年的《政府工作报告》,随即物联网受到了社会的极大关注和大量人力、物力资源的投入,并开始迅速发展。2016年 12月18日,工业和信息化部印发的《信息通信行业发展规划物联网分册(2016-2020年)》(简称《物联网分册》)指出, 2015年底我国物联网产业规模已达 7500亿元,整个 十二五期间年均复合增长率达到 25%。我国机器与机器连接数突破1亿,占全球总量的 31%,成为全球最大市场。 十三五 期间,随着万物互联时代开启,我国物联网产业规模也将保持高速发展势头,预计 2017年,产业规模将达到万亿级。
2 物联网业务对分布式存储的需求
物联网分为应用层,数据层,网络层和感知层。对网络层来说,虽然在物联网大力发展时期将面临大量通信节点暴增的挑战,但按照有序发展支撑和演进式逐步建设的规划, 目前的网络资源仍然足够支撑业务增长。在充分利用现有网络资源的前提下,依据业务实际增长情况逐步扩展,分阶段改造网络,逐步完成网络层的建设。
物联网应用所带来的数据量和数据读写业务压力不同以往,数据层所面临的挑战相对而言更大。与传统业务相比, 这方面的需求都呈指数级增长,远高于现有系统的承载能力。物联网的典型应用通常包括海量传感器,数量可达数百万个,采样频率也较高。虽然单个数据并不大,但积少成多,因此数据总量非常可观。这两种情况的结合,即要求存储系统能并发处理数百万个传感器的高频数据写入,并发压力和传统生产系统有着数十倍乃至上百倍的差异。一个典型的物联网存储子系统可能需要支持数千亿个小文件的存储,同时需提供超高的并发读写性能支撑。
由于视频监控也是典型的物联网应用,来自各类固定、移动监控摄像头甚至无人机的监控录像和高清图片也是物联网存储系统所要处理的数据类型。此类数据类型通常是连续的视频流,而并发的高带宽和海量存储空间需求也是前所未有的巨大挑战。同时,由于物联网 物 的特征,很多时候并不需要像人类参与的工种一样有典型的时间周期,物联网系统经常全年无休,每时每刻都在不知疲倦地产生数据,同时由于业务本身持续不断,因此对存储系统的高可用性也有很强的需求。
从数据类型上看,相对传统业务的结构化数据占比较高, 物联网应用和新业务将产生大量的非结构化和半结构化数据, 这也将对存储系统提出新的挑战。
物联网大规模的数据存储或计算需求通过控制节点分发到各物理机,采用分布式存储方案解决了传统集中计算存储存在的性能瓶颈问题和成本问题,近年来获得了广泛应用。
3 分布式存储 CAP理论
CAP是分布式系统设计中的经典理论,也是工程实施和产品研发中的基本理论依据,对分布式存储产品设计、选型、实施具有指导意义。这一理论由EricBrewer在 2000年的PODC会议上提出,最初仅仅是一个猜想,2年后被MIT的SethGilbert和 NancyLynch证明为理论,并很快被互联网企业如 Ebay,Twitter,Amazon等接受和拥护。17年来,该理论已被广泛应用于各类分布式系统设计中。CAP理论简单说来只有一句话:在分布式系统中,一致性(Consistency),可用性(Availability)和分区容忍性(Partition-Tolerance)三种特性只能同时实现其中部分,常取其中两种,舍弃一种。
3.1 数据一致性
如果系统对一个写操作返回成功,那么之后的读请求都能读到这个新数据;如果返回失败,那么所有读操作都不能读到该数据,对调用者而言,数据具有强一致性(Strong Consistency),又叫原子性(Atomic),线性一致性(Linearizable Consistency)。
无论对数据如何操作,该特性可保证得到的数据都是完成状态的数据,否则操作失败。类似于原子性的概念,一个操作必须是完整的,杜绝牵扯不清的中间状态。对数据的修改必须保证最终数据是原子操作的合格品,否则失败退出, 决不能出现修改了一半的数据半成品。例如多个应用并发对系统调用时,应用不会得到一张被另外一个应用请求画了一半的图,或更新了上半段的说明书。
3.2 服务可用性
在指定的响应时间窗口内,每个操作请求都能到响应并返回,不会持续等待。该特性接近实时系统的定义,能够确保系统及时响应,避免死锁,从而为更多的并发业务和应用提供 可用 的服务。
3.3 分区容忍性
保证系统支持分区,在分裂的情况下,各节点仍可正常提供服务,支撑业务和应用。
只要还有分区存活就能给出及时响应并提供服务。该特性保证了系统是可分区的,各分区都能够独立提供服务,配合互为备份。系统可以方便地进行横向扩展,这种特性也是跨分区(设备)分布式系统最具价值之处。
CAP 理论对分布式系统实现有非常重大的影响,我们可以根据自身的业务特点,在数据一致性和服务可用性之间作出倾向性选择。
4 分布式存储的对称式架构与非对称式架构比较
按照元数据的管理方式,可分为对称式集群文件系统和非对称式集群文件系统。进行简单类比,非对称式架构是管理和数据分离,而对称式架构是管理和数据合一。两者在扩展性、健壮性、安全性和后端数据交互压力对系统的影响方面存在差异。
4.1 扩展性
对称式架构由于每个节点都承担管理和数据双重职责, 节点间通信较为复杂,导致节点数量受限于通信量。当节点数量增加时,信息同步复杂度呈几何级数增长(以 10 个节点为例,每个节点可能同时与其他 9 个节点通信,此时系统连接总数近似为 1010,若增加到 100 个节点,则连接总数为 9999),总体性能将大幅下降至不可接受,因此必须对集群规模加以限制。以市场成熟度最高的对称式架构产品Isilon OneFS 为例, 虽然官方宣称最大集群规模为 144 个节点,但在实际部署中,绝大多数都只拆分成 10 个节点左右。
非对称式架构由专用的服务器维护元数据,实现管理和数据分离,扩展性良好。节点增加带来的元数据复杂度呈线性, 因而集群性能能够实现线性扩展,在业界广泛采用。全球 Top 100的集群存储系统中,鲜有采用对称式架构,Top10中更是全部采用非对称式架构。
4.2 健壮性和安全性
对称式架构的多个节点间耦合性紧。如果某单个节点出现问题,响应超时得不到应答,将会影响整个集群的性能。一旦某单个节点发生严重故障,将导致文件系统元数据的一致性被破坏,后果严重。轻则丢失数据或不一致,重则系统整体瘫痪,无法提供存储服务。
在非对称式架构中,节点间采用松耦合机制,可以很好地隔离数据节点故障,系统的健壮性更强。
4.3 后端数据交互压力对系统的影响
由于分布式系统数据分散存放在不同的节点,因而出现磁盘故障或节点故障时不可避免地会进行跨界点的数据重构。在对称式架构中,数据路径和控制路径通常混用,当追求重构速度时,节点间的数据交互压力较大,会使控制信息拥塞,而控制信息对响应延迟要求较高,一旦有任何一条控制信息延迟,就会拖慢整个系统。若不得已采用单独的控制链路, 则需在每台设备上都单独增加硬件,从而加大了成本。
非对称式架构采用数据路径与控制路径分离的方式,任何数据节点满负载运行或数据节点间的网络拥塞均不会影响到整个系统的性能波动(性能波动仅限于故障节点)。
5 分布式存储的数据保护模式
存储领域的数据冗余机制长期以来发生了革命性的进展, RAID、副本一直是当仁不让的最终选择。近几年,尤其是在规模较大的应用场景下,纠删码越来越多地出现在大众视野中, 成为RAID、副本之外的第三种选择,因此也获得了越来越多的关注。
纠删码(Erasure Code)是一种编码容错技术,最早用以解决通信行业中部分数据在传输中的损耗问题。其基本原理是把传输的信号分段,加入一定的校验后再让各段间发生一定的联系,即使在传输过程中丢失部分信号,接收端仍能通过算法把完整的信息计算出来。如果严格区分,按照误码控制的不同功能,还可以分为检错、纠错和纠删类型。
纠错码不仅具备识别错码功能, 还具备纠正错码功能,其适用场景通常采用大规模部署方式。从传统情况来看, RAID通常在企业级环境中应用较多。在几台或十几台存储设备规模的IT系统中,较常使用稳定可靠、历经数十年磨砺的RAID技术。而在数据中心级的大规模部署中,RAID不再受欢迎,大部分分布式系统都偏好副本模式,均看重其高可靠 性和读性能优化的特点。然而副本带来的成本压力也让众多 企业叫苦不迭,因此,纠错码技术的适时出现,以其更低成本 和更高技术含量及提供近似可靠性的特点,吸引了众多分布式 存储和云存储的厂商和用户。
6 结 语
文章从技术特点以及实际应用效果,分析了数据存储的 不同技术,并将传统技术和纠错码技术进行对比,论证了分 布式存储是物联网业务的最佳选择。