During dynamic rebalancing entries get moved as they are modified. You configure dynamic rebalancing on the entry counter placement algorithm or a third-party placement algorithm that supports rebalancing. This algorithm keeps a count of the number of entries or the size of the backend set. You configure dynamic rebalancing using the following parameters:
- rebalancing-enabled . Determines whether entry rebalancing is enabled. When rebalancing is enabled, the placement algorithm is consulted after modify and add operations, to determine whether the target entry should be moved to a different backend set.
- rebalancing-scope . Indicates which modified entries are candidates for rebalancing. A value of top-level indicates that only entries immediately below the entry-balancing base can be rebalanced. A value of any indicates that entries at any level below the entry-balancing base may be rebalanced.
- rebalancing-minimum-percentage . Specifies the minimum threshold for entries to be migrated from one backend set to a preferred backend set with a smaller size. Entries are not migrated unless the percentage difference between the value of the current backend set and the value of the preferred backend set exceeds this threshold. This parameter prevents unnecessarily migrating entries back and forth between backend sets of similar sizes.
- rebalancing-subtree-size-limit . Specifies the maximum size of a subtree that can be rebalanced.
. Specifies how long to wait between polling the
size of the backends to determine how to rebalance; works in conjunction with the
. Determines which approach to use to select a
destination backend for rebalancing. Possible values are:
The following figure illustrates an entry-balancing base DN and three subtrees, A, B, and C. If
the rebalancing scope is set to
any, any child entries under the base DN can be
rebalanced. For example, if a change is made to entry A1, the entire subtree A might be
rebalanced, depending upon how you have configured rebalancing. If the rebalancing scope is set
top-level, rebalancing is only triggered when entries at the top level, such as A, are
modified. Changes made to subentries, such as A1 or A2, do not trigger rebalancing. Rebalancing is also triggered upon
the addition of entries such as
A1,A2, provided the scope is
If you are writing your own 3rd party algorithm, you program dynamic rebalancing using the SelectRebalancingBackendSet method on the placement algorithm. For more information, see the Server SDK documentation.