The current object store in Ceph, Filestore, has a number of limitations which have started to limit the scale at which Ceph can operate and features that it can offer. Following are some of the main reasons why Bluestore was needed.
An object in Ceph along with its data also has certain metadata associated with it, and it's crucial that both the data and metadata are updated atomically. If either of this metadata or data is updated without the other, the whole consistency model of Ceph is at risk. To ensure that these updates occur atomically, they need to be carried out in a single transaction.
Filestore was originally designed as an object store to enable developers to test Ceph on their local machines. Due to its stability, it quickly became the standard object store and found itself in use in production clusters throughout the world.
Initially, the thought behind filestore was that the upcoming B-tree file system (btrfs), which...