mobject-store is an object storage system composed of the following components from the Mochi project:
- Bake - a service for storing bulk data regions in libpmemobj persistent memory pools
- sds-keyval - a key/value service used to store mobject-store metadata
- ssg - a group membership service used to group a set of mobject-store servers into a single logical service
- ch-placement - a modular consistent hashing library used to map mobjects to the server responsible for storing them
Rather than define its own object storage API, we decided to have mobject-store implement a portion of the librados API (http://docs.ceph.com/docs/master/rados/api/librados/).
TODO: provide more detailed specification on what subset of librados API we implement and what types of relevant simplifications we have made (e.g., single RADOS object pool?).