存储技术
(文章来源:MayTurn魅豚智能)
分布式存储是相对于中心化存储来说的,中心化存储,也叫集中式存储。所谓中心化存储,从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系统中的。但中心化存储并不是一个单独的设备,是集中在一套系统当中的多个设备。以一般公司中心化数据存储为例,简单分析下中心化存储模式。
在这个存储系统中包含很多组件,除了核心的机头(控制器)、磁盘阵列(JBOD)和交换机等设备外,还有管理设备等辅助设备。下图是一个中心化存储的基本逻辑示意图。
在中心化存储中最重要的部件是机头,机头一般包含两个控制器,这两个控制器实现互备的作用,防止其中一个硬件故障导致整个存储系统的不可用。机头包含前后端两个入口,通过后端端口机头可以连接更多的存储设备,从而形成一个非常大的存储资源池。从上面我们可以看出中心化存储最大的特点是有一个统一的入口,所有数据都要经过这个入口,数据被统一管理统一调用,这个入口就是存储系统的机头部分。
而如今分布式存储的概念包括分布式文件系统,分布式缓存,分布式区块存储等,现在简单介绍其中分布式文件系统。中间控制节点架构简称为:HDFS,分布式存储最核心的是基于区块链去中心化的技术构架,其目的是通过廉价的服务器来提供使用与大规模、高并发场景下的Web访问问题。下图是简单描述Web访问服务器的简单流程。
上图分布式存储中,如果客户端需要从某个文件读取数据,首先从namenode获取该文件的位置(具体在哪个datanode),然后从该位置获取具体的数据。是点对点的数据传输和存储,因此,通过这种分布式存储架构可以通过横向扩展datanode的数量来增加承载能力,也即实现了动态横向扩展的能力,从根本上能够防止黑客入侵,大大提高了数据的安全性能。
Ceph存储系统的架构,在该架构中与HDFS不同的地方在于该架构中没有中心节点。客户端是通过一个设备映射关系计算出来其写入数据的位置,这样客户端可以直接与存储节点通信,从而避免中心节点的性能瓶颈。
客户端访问存储的大致流程是,客户端在启动后会首先从Mon服务拉取存储资源布局信息,然后根据该布局信息和写入数据的名称等信息计算出期望数据的位置(包含具体的物理服务器信息和磁盘信息),然后该位置信息直接通信,读取或者写入数据。
一致性哈希的方式就是将设备做成一个哈希环,然后根据数据名称计算出的哈希值映射到哈希环的某个位置,从而实现数据的定位。
为了保证数据分配的均匀性及出现设备故障时数据迁移的均匀性,一致性哈希将磁盘划分为比较多的虚拟分区,每个虚拟分区是哈希环上的一个节点。整个环是一个从0到32位最大值的一个区间,并且首尾相接。当计算出数据(或者数据名称)的哈希值后,必然落到哈希环的某个区间,然后以顺时针,必然能够找到一个节点。那么,这个节点就是存储数据的位置。
魅豚智能则是根据完全无中心化构架的计算模式,采用一致哈希的方式获得数据位置,并将数据存储分区存储在各个节点中,在存储设备方面,Swift构建一个虚拟分区表,表的大小在创建节点集群时确定(通常为几十万),这个表其实就是一个数组。这样,魅豚智能将各个节点应用在传统智能家居领域,使家庭智能家居互联互通,家庭与家庭之间通过网络互联互通形成庞大的数据节点集群,满足5G物联网时代海量数据的存储。
未来魅豚智能还将研发新的高端智能家居,以区块链分布式存储应用落地为基础,让世界万物互联,满足互联网时代飞速发展产生的海量数据,打造一个庞大而完整的分布式存储生态圈。
全部0条评论
快来发表一下你的评论吧 !