OpenStack Object Storage(Swift)是OpenStack 开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性
本文将从架构、原理和实践等几方面讲述 Swift
Swift 并不是文件系统或者实时的数据存储系统,它称为对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新
最适合存储的数据类型的例子是虚拟机镜像、图片存储、邮件存储和存档备份
因为没有中心单元或主控结点,Swift 提供了更强的扩展性、冗余和持久性
Swift 前身是Rackspace Cloud Files项目,随着 Rackspace 加入到 OpenStack 社区,于 2010 年 7 月贡献给 OpenStack,作为该开源项目的一部分
Swift 目前的最新版本是OpenStack Essex 1
新浪 SAE 团队对Swift 有将近一年的研究和运营经验
在深入剖析 Swift 架构和原理、完全掌握 Swift 源码,并且经过一段时间的测试和运营之后,我们决定将推出基于 Swift 的SAE Storage 服务
目前,已完成开发,并于一个月前开始线上运行,且表现非常出色
因此,下面将分享一下我们在 Swift 上的一些研究和工作
Swift 特性 在 OpenStack 官网中,列举了Swift 的20 多个特性,其中最引人关注的是以下几点
极高的数据持久性 一些朋友经常将数据持久性(Durability)与系统可用性(Availability)两个概念混淆,前者也理解为数据的可靠性,是指数据存储到系统中后,到某一天数据丢失的可能性
例如Amazon S3 的数据持久性是11 个 9,即如果存储1 万(4 个 0)个文件到 S3 中,1 千万(7 个 0)年之后,可能会丢失其中 1 个文件