Outdated Version
You are viewing an older version of this section. View current production version.
REBALANCE PARTITIONS
Rebalances the partitions for a database.
REBALANCE PARTITIONS ON db_name
Notes
db_nameis the name of a MemSQL database.REBALANCE_PARTITIONSrestores redundancy by replicating any partitions with only one instance, and then moving partitions around to ensure balance across all the leaves. UseRESTORE REDUNDANCYinstead if you want to restore redundancy only, without rebalancing partitions.- This command must be run on the master aggregator node (see Node Requirements for MemSQL Commands ).
REBALANCEis an online operation, meaning that as it runs you can continue to read and write data in the database you are rebalancing. However, since the master aggregator is responsible for managing metadata-level changes to partitions, it aggressively locks down partitions while performing the rebalance. If you run a workload against a master aggregator whileREBALANCEexecutes, you will notice queries blocked for a significantly longer duration on the master aggregator (seconds) than on child aggregators (milliseconds). MemSQL extends the output ofSHOW PARTITIONSwith aLockedcolumn that indicates whether the partition is locked locally on the aggregator.
Example
memsql> REBALANCE PARTITIONS ON test;
Query OK, 1 row affected (9.80 sec)