Ope
StackSwift学习笔记
Ope
StackSwift学习笔记1概述
Ope
StackObjectStorage(Swift)是Ope
Stack开源云计算项目的子项目之一。Swift的目的是使用普通硬件来构建冗余的、可扩展的分布式对象存储集群,存储容量可达PB级。Swift并不是文件系统或者实时的数据存储系统,它是对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新。最适合存储的数据类型的例子是虚拟机镜像、图片存储、邮件存储和存档备份。Swift无需采用RAID(磁盘冗余阵列),也没有中心单元或主控结点。Swift通过在软件层面引入一致性哈希技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性(HighAvailability,简称HA)和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。
2技术特性
21Swift的主要特征Swift的主要特性如下:极高的数据持久性(Durability)。完全对称的系统架构:“对称”意味着Swift中各节点可以完全对等,能极大地降低系统维护成本。无限的可扩展性:一是数据存储容量无限可扩展;二是Swift性能(如QPS、吞吐量等)可线性提升。无单点故障:Swift的元数据存储是完全均匀随机分布的,并且与对象文件存储一样,元数据也会存储多份。整个Swift集群中,也没有一个角色是单点的,并且在架构和设计上保证无单点业务是有效的。简单、可依赖。
第1页共14页
fOpe
StackSwift学习笔记
22
Swift和HDFS的技术差异Swift和Hadoop分布式文件系统(HDFS)都有着相似的目的:实现冗余、
快速、联网的存储,它们的技术差异如下:在Swift中,元数据呈分布式,跨集群复制。而在HDFS使用了中央系统来维护文件元数据(Name
ode,名称节点),这对HDFS来说无异于单一故障点,因而扩展到规模非常大的环境显得更困难。Swift在设计时考虑到了多租户架构,HDFS没有多租户架构这个概念。而在Swift中,文件可以写入多次;在并发操作环境下,以最近一次操作为准。而在HDFS中,文件写入一次,而且每次只能有一个文件写入。Swift用Pytho
来编写,而HDFS用Java来编写。Swift被设计成了一种比较通用的存储解决方案,能够可靠地存储数量非常多的大小不一的文件;而HDFS被设计成可以存储数量中等的大文件(HDFS针对更庞大的文件作了优化),以支持数据处理。
3关键技术
31一致性哈希(Co
siste
tHashi
g)在分布式对象存储中,一个关键问题是数据该如何存放。Swift是基于一致性哈希技术,通过计算可将r