swift简介

swift简介
swift是一个设计以低廉的价格存储海量非结构化数据的,多租户,高伸缩性高持久性的对象存储系统。高伸缩性意味着它可以支持少量节点的集群,也可以用于数千台服务器的大型集群。swift设计用于水平扩展,因此不存在单节点故障。
swift通常用来存储非结构化数据,如文档,图像,视频,网页,备份,虚拟机快照等。
 
swift的主要特别包括:可伸缩性,数据持久性,高并发,开源,成本低
可伸缩性:
swift可以根据存储的数据量和用户数目线性伸缩,这意味着swift可以是只有几个节点集群,也可以部署为多机房,上千节点的集群。(Swift已经支持Erasure Code和跨多个数据中心部署等高级功能,已经有较多的商业化案例)
高可用性:
swift有极高的可用性,为了实现这一点,swift集群中每一个对象均有三个副本(可调节),每次写入至少要在两个以上的副本中写入完成,才会被认为成功。
审计器(auditor)会确保过期或者丢失的数据被更新为较新的数据。复制器(replicator)会确保文件存储多份,并在文件丢失后通过复制文件的方式保证数据的可用性。
高并发性:
海量存储空间固然对一个存储系统来说比较重要,但更有用和更重要的是一个存储系统的并发性。swift通过无共享(share-nothing)的构架能轻松的处理大量的并发请求。
开源:
swift 是在Apache 2 license下开发的一个开源项目,与其它开源项目不同的是,swift在发布前已经在rackspace内部作为私有云投入商业使用,在高并发的生产 环境下经过了足够多的测试。有超过100名工程师参与了swift的研发,并且随着项目的发展有越来越多的工程人员参与进来。
随着项目的进行,swift相关的工具,扩展也不断被开发出来,并且swift本身也易于扩展,可以根据自己的需要进行二次开发
成本低:
比起商业的存储服务解决方案,swift的实现成本大约是商业解决方案的十分之一,却有更好的可靠性,以及更多的使用案例。
商业的存储解决方案,在升级扩展时,往往存在厂商绑定的问题,而swift则可以任意选择设备搭建集群。
 
通过扩展,swift还有更多的特性:静态web站点,自动过期对象,限时URL,配额管理,直接网页上传,版本控制,分片上传,多点下载等。
静态web站点:
用Swift作为静态站点的WEB服务器
自动过期对象:
让对象在指定时间后过期
限时URL:
让生成的URL在限定时间后过期
配额管理:
管理每个账户以及容器的容量
直接网页上传:
让用户可以不经过系统应用服务器,直接通过网页上传文件至云存储集群
版本控制:
同一对象升级版本后,可以恢复到之前的版本,数据不会丢失
分片上传:
同一对象,可以分成多个片段同时上传
多点下载:
同一对象,可以从多个片段同时下载
 
 
 
swift是对象存储系统,与传统的文件级存储或数据块级存储是有区别的
块存储使用未格式化的硬盘,基于块的存储系统,磁盘块通过底层存储协议访问,像SCSI命令,开销很小而且没有其它额外的抽象层。这是访问磁盘数据最快的方式,所有高级别的任务,像多用户访问、共享、锁定和安全通常由操作系统负责。
文件存储使用格式化的硬盘。文件存储对底层的存储设备提供了一些抽象,但当数据量较大时,文件系统工作的并不是很高效。
posted @ 2013-12-03 22:38  le.i  阅读(589)  评论(0编辑  收藏  举报