Professional Documents
Culture Documents
An Introduction
What is Swift?
Object Store
Analogous to S3
Blob store
Does not care about type of data
Apache Licensed (Python)
Production Quality
Features
Distributed
Scalable to several Peta-Bytes
Eventually consistent (CAP)
Highly Available (by design)
Robust
REST-in peace :)
Features (contd..)
S3 API support
Can work on commodity HW
Quotas and access control
Various Storage Systems
Keystone Authentication
But...
You can't:
mount it
have file hierarchies (?)
store live databases
format to a file system
do anything the API does not let you do !
Store objects sized > 5GiB (WIP)
Components
Proxy
Account Server
Container Server
Object Server
Rings
Auditors & Expirers
...
Proxy Server
Gatekeeper
Authentication
Handles req from other servers
Single point of failure?
Object Server
Stores the objects
Size restricted to less than 5 GiB
Storage, retrieval and deletion
Updates & Replication
Integrity audits
Extended attributes
Container Server
Keeps track of objects
Namespace partitioning
Lists objects
SQLite DBs
Globally unique names not necessary
Account Server
Keeps track of containers
Lists containers and points to them
The Rings
Consistent hash ring / table
Partitions & Replicas
Weights
Object, Container, Account servers have their
own rings
http://docs.basho.com/riak/latest/references/appendices/concepts/
Replicators
Ensures enough replicas
Ensures correct placement of replicas
Replication mechanism - Rsync
Expirers
Deletion of an object
Tombstones .ts
swift-account-reaper
Questions ?
swift.openstack.org