OpenStack云管理系统:swift概念讲解

0 swift 介绍


0.1swift 是什么?

OpenStack Object Storage 最开始是由 Rackspace 开发,并于 2010 年 7 月贡献给 OpenStack ,作为其开源子项目。 OpenStack Object Storage 最初作为 RackspaceCloud Files service 的主体实现,工程代号为 swift 。因此 swift 沿用至今。

下面的介绍引自官网[1]:

 

OpenStack Object Storage (code-named Swift) is open source software forcreating redundant, scalable object storage using clusters of standardizedservers to store petabytes of accessible data. It is not a file system orreal-time data storage system, but rather a long-term storage system for a morepermanent type of static data that can be retrieved, leveraged, and thenupdated if necessary. Primary examples of data that best fit this type ofstorage model are virtual machine images, photo storage, email storage andbackup archiving. Having no central "brain" or master point ofcontrol provides greater scalability, redundancy and permanence 。

OpenStackObject Storage (Swift) 是开源的,用来创建可扩展的、冗余的、对象存储(引擎)。 swift使用标准化的服务器存储 PB 级可用数据。但它并不是文件系统 (file system) ,实时的数据存储系统(real-timedata storage system) 。 swift 看起来更像是一个长期的存储系统 (long term storage system) ,为了获得、调用、更新一些静态的永久性的数据。比如说,适合存储一些类型的数据:虚拟机镜像,图片存储,邮件存储,文档的备份。没有“单点”或者主控结点 (master point of control) , swift看起来具有更强的扩展性、冗余和持久性。

 

0.2swift 能做什么

长于存储非结构化数据,大、小文件性能据说都很好(目前没有测试数据, adrian otto 说测试过10 亿个 1byte 数据)。

文章[2] 的 Use OpenStack ObjectStorage For 中,基本上只有一个词 (storage)... 存储,各种存储,可以达 PB 级。

 

0.3swift 不能做什么

文章[2]的 Recognize the Limitations 罗列了一长串 swift 不擅长的地方,这里列出主要几项

 

  •    Objects must be <5GB : swift 1.2 之后已经对 object 的大小不做限制
  •   Not a Filesystem :不是文件系统。 swift 使用 REST API ,而不是使用传统意义上的文件操作命令, open(), read(), write(), seek(), 和 close() 等。
  •    No File Locking :干脆不支持“文件锁”。其实在 swift 中,“锁”的概念是没有必要的。
  •   No Directory Hierarchies :没有文件目录结构。 swift 可以模拟目录结构,但没有必要
  •    Not a Database :不是数据库。 swift 使用 account-container-object 的概念存储 object ,可以列表出指定 container 中的 object ,不支持 server 端的查询和处理操作。

 

0.4 结论?

看起来 swift 貌似一无是处,除了“蹩脚”的存储外什么都做不了。

其实 adrian otto 更倾向于把 swift 和 HayStack 做类比。 HayStack 是 facebook 用来缓冲数据的中间层。

国内这方面资料相对较多,不赘述。

参看几篇文章[3]、[4]、[5]可能会有深入认识。

 

0.5 swift 怎么使用?

HTTP GET ,请求 object 的下载; HTTP HEAD 请求 object metadata (元数据), HTTP DELETE 删除处理 object 。

支持多种语言封装对 object 的请求,包括 Java, Python, Perl, PHP, .NET。

 

[1].官网: http://www.openstack.org/projects/storage/

[2]adrian otto 的博客: http://adrianotto.com/2010/09/openstack-os-is-great-for/此文章待翻译。

[3] Finding a needle in Haystack: Facebook’s photo storage

[4]http://www.nosqlnotes.net/archives/116 淘宝杨传辉的博客

[5]http://www.dbanotes.net/arch/facebook_photos_arch.html  DBA Notes的博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值