About dynamic rebalancing
During dynamic rebalancing, entries get moved as they are modified. You configure dynamic rebalancing in 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. 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 might 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.
poll-interval
Specifies how long to wait between polling the size of the backends to determine how to rebalance and works in conjunction with the rebalancing-minimum-percentage
property.
placement-criteria
Determines which approach to use to select a destination backend for rebalancing. Possible values are:
-
entry-count
-
backend-size
-
custom
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 to 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 any
.
If you are writing your own third-party algorithm, you program dynamic rebalancing using the SelectRebalancingBackendSet
method on the placement algorithm. For more information, see the Server SDK documentation.