一、分布式储存的概念
分布式存储系统的传统定义:“分布式存储系统是大量PC服务器通过Internet互联,对外提供一个整体的服务”。
二、分布式储存的发展
80年代,代表:AFS、NFS、Coda
AFS:1983年 Carnegine Mellon大学和IBM共同合作开发Andrew文件系统。
NFS:1985年Sun公司基于UDP开发了网络共享文件系统(Network File System, NFS)。
Coda:1987年 Carnegine Mellon大学在基于AFS的基础上开发了Coda文件系统。
90年代 ,代表:xFS
xFS:UC Berkeley参照当时高性能多处理器领域的设计思想开发了xFS文件系统。
20世纪末,代表: NAS、GFS
NAS:通过基于TCP/IP协议的各种上层应用(NFS等)在各工作站和服务器之间进行文件访问,直接在工作站客户端和NAS文件共享设备之间建立连接。
GFS:Google为大规模分布式数据密集型应用设计的可扩展的分布式文件系统,Google将一万多台廉价PC机连接成一个大规模的Linux集群,它具有高性能,高可靠性,易扩展性,超大存储容量等优点。
现在,代表:HBase、MongoDB、DynamoDB…
HBase:列存储数据库,擅长以列为单位读取数据,面向列存储的数据库具有高扩展性,即使数据大量增加也不会降低相应的处理速度,特别是写入速度。
MongoDB:文档型数据库它同键值(Key-Value)型的数据库类似,键值型数据库的升级版,允许嵌套键值,Value值是结构化数据,数据库可以理解Value的内容,提供复杂的查询,类似于RDBMS的查询条件。
DynamoDB:Amazon 公司的一个分布式存储引擎,是一个经典的分布式Key-Value 存储系统,具备去中心化,高可用性,高扩展性的特点。
三、Ulord分布式存储核心框架
1、理论阐述
Ulord使用P2P的超媒体协议,可以让网络更快、更安全、更开放。Ulord网络中的所有节点构成一个面向全球的、点对对的分布式文件系统,将所有具有相同文件系统的计算设备连接在一起。
每个文件及其中的所有分块都被赋予一个称为加密散列的唯一指纹。每个节点通过判断文件的哈希值判断哪些冗余重复的文件,在单个节点上确保数据不冗余。查找文件时,通过文件的哈希值就可以在网络中查找到储存该文件的节点,找到想要的文件; Ulord下一步计划提供文件的历史版本控制器,支持多节点使用并保存不同版本的文件,实现文件历史状态跟踪。
其次,Ulord中文件存储不强烈要求每一个节点都存储所有的内容,节点的所有者可以自由选择想要存储的数据,对于存储大量内容信息的节点,Ulord计费模型通过文件下载的数据量自动计算用户收益,以此激励用户升级其硬件资源以提供更全面的数据存储和维护服务来获取收益。
说明:IPFS是一个分布式的web, 点到点超媒体协议. 可以让我们的互联网速度更快, 更加安全, 并且更加开放。因为使用HTTP协议每次需要从中心化的服务器下载完整的文件(网页, 视频, 图片等), 速度慢, 效率低。如果改用P2P的方式下载, 可以节省近60%的带宽。P2P将文件分割为小的块, 从多个服务器同时下载, 速度非常快。IPFS协议的目标是取代传统的互联网协议HTTP。
2、配套设计体系
1)设计并实现了基于区块链的分布式文件存储、检索和分发机制,基于底层区块链集成P2P下载、分布式文件组织、智能学习等功能模块,提供快速内容搜索服务、分布式存储服务、点对点数据分发服务、分布式哈希索引服务、网络资源自净化服务等。
2)分布式哈希索引服务,Ulord网络使用了分布式哈希表来组织用户资源的命名空间,通过DHT在网络节点中实现的关系映射。DHT是一个不存在中心节点的、提供key>value查询功能的分布式系统,关于key到avlue的映射信息分布式地保存在多个节点上,数据的变化和节点的变化只会影响到部分节点,不会对所有节点产生影响。作为一种基础架构,DHT可以用来构建更多复杂应用,比如分布式文件系统、域名服务、即时消息、P2P文件共享和内容分发平台。
3)Ulord服务以Ulord协议为基础,集成P2P下载、分布式文件系统、智能学习等技术组成不同的功能模块,Ulord网络服务可以根据用户需求进行灵活设置。
3、增加Ulord存储空间的措施
1)采用POW和POS混合的共识机制,吸引更多闲置资源加入Ulord网络,POS算法适用于构建IPFS基础设施,鼓励更多的用户提供大的存储空间用于Ulord上的平台数据。
2)引入主节点系统,将整个主节点网络构造为点对点的分布式文件分发网络(Interplanet File System,IPFS),提供了海量云存储资源池和全球统一的可寻址空间存储资源。
一句话理解Ulord分布式存储,就是采用POW和POS混合共识机制、引入主节点系统等策略来吸引存储资源进行共享的模式,并且 Ulord设计了很多配套体系。
四、分布式存储的特点
1、高扩展性:分布式存储系统可以扩展到几万台甚至更多的集群规模,系统整体性能与服务器数量呈线性关系。
2、低成本性:分布式存储系统的自动容错、自动负载均衡的特性,允许分布式存储系统可以构建在低成本的服务器上。
3、高可用性:分布式存储系统在面对各种异常时可以提供正常服务的能力,系统的可用性可以用系统停服务的时间和正常服务时间的比例来衡量,例如4个99的可用性(99.99%)要求一年停机的时间不能超过3652460/10000 = 53分钟。
4、数据一致性:分布式存储系统多个副本之间的数据一致性,有强一致性,弱一致性,最终一致性,因果一致性,顺序一致性。
5、高安全性:分布式存储系统去中心化,不受恶意访问和攻击,保护存储数据不被窃取。
参考资料:
CSDN博客
知乎,飞向未来
Ulord白皮书