Morphus: Supporting Online Reconfigurations in Sharded NoSQL Systems
2015 IEEE International Conference on Autonomic Computing
While sharded NoSQL stores offer high availability, reconfiguration operations present a major pain point in deployments today. For instance, in order to change a configuration setting such as the shard (or primary) key of a database table, the prevalent solutions entail shutting down the database, exporting and re-importing the table, and restarting the database. This goes against the NoSQL philosophy of high availability of data. Our system, called Morphus, provides support towards
... tions for NoSQL stores in an online manner. Morphus allows read and write operations to continue concurrently with the data transfer among servers. Morphus works for NoSQL stores that feature master-slave replication, range partitioning, and flexible data placement. This paper presents: i) a systems architecture for online reconfigurations, incorporated into MongoDB, and ii) optimal algorithms for online reconfigurations. Our evaluation using realistic workloads shows that Morphus completes reconfiguration efficiently, offers high availability, and incurs low overhead for reads and writes. Index Terms-shard key change, reconfiguration, nosql 1. Data-centric reconfiguration operations deal only with migration of data residing in database tables. Non-data-centric reconfigurations are beyond our scope, e.g., software updates, configuration table changes, etc.