组件
Swift主要使用到如下组件来提供对象存储服务:
Proxy servers
处理所有请求调用
Rings
将数据映射到物理磁盘上,实际就是记录了逻辑数据存放在哪一块物理磁盘的那个位置上
Zones
对不同区域的数据进行隔离,一个区域中的故障不会影响集群其他区域数据副本
Accounts and containers
每个账户和容器都是分布在集群中的单独的数据库,账户数据库包含了账户下的所有容器,容器数据库包含容器下的所有对象
Objects
对象数据本身
Partitions
一个分区存放了对象、账户数据库、容器数据库,并管理数据在集群中的位置
数据存放
swift数据存放
swift数据模型
Account:账户(也叫租户)包括了自己的元数据信息和container列表,这些数据被保存在SQLite数据库中
Container:容器(在S3中叫桶),可以看成文件系统中的目录,用户可以自己定义容器。其包