Wednesday, September 7, 2011

Some things to know about Swift

  • Swift is an object storage, not a replacement for a fileserver..in other words, you can't just mount up Swift storage like you would an NFS volume and use standard filesystem commands on it.
  • Swift stores files in logical groupings or "containers".
  • To talk to Swift Storage, you need a Swift API client.
  • Swift aims to keep multiple copies of objects written across multiple servers in separate "zones"
    • A "zone" is a logical grouping of servers isolated from each other to prevent failures.
  • The number of Zones and Replicas is of course configurable.
    • Best practice is 3 replicas across 5 zones.
  • Two logical Parts:
    • Presentation - Accepts end-user requests via swift-proxy. Authorization / Authentication is handled here, too. Requests are passed to the appropriate object, container, or account for completion.
    • Resource - This is where requests are processed from swift-proxy.  Each of the below processes fulfills the requests, maintains database consistency, and replicates information to any nodes that may need it:
      • swift-account - manages a database of accounts defined with the object storage service
      • swift-container - manages a database of container mappings inside the object storage service
      • swift-object - mapping of actual objects (i.e. Files) on the storage server.

No comments:

Post a Comment