Optimizing CLDB Tables
Explains how to enable the CLDB tunable for optimizing CLDB tables.
Data Fabric contains a CLDB tunable called
cldb.feature.optimize.volume.kvstores
. Enabling this tunable automatically
optimizes the B-Tree of CLDB tables with a large number of volumes and read-write containers,
and results in enhanced CLDB performance.
Prerequisites for enabling this feature
Before enabling this feature, ensure that all CLDB nodes are at the current version. Also, enable all features that were present in the previous version of data-fabric, using the maprcli cluster feature enable command.
Enabling and Activating Optimization
To enable and activate CLDB optimization:
- Run:
maprcli cluster feature enable -name cldb.feature.optimize.volume.kvstores
- Restart the CLDB primary instance and wait till the instance comes to the
MASTER_READ_WRITE
state.TIPTo check the CLDB state, runmaprcli dump cldbstate
. For example:root@qa108-181 ~]# maprcli dump cldbstate mode ip state stateDuration desc SLAVE_READ_ONLY 10.10.108.181 CLDB_IS_SLAVE_READ_ONLY 40:10:11 cldb running as slave SLAVE_READ_ONLY 10.10.108.182 CLDB_IS_SLAVE_READ_ONLY 40:11:42 cldb running as slave MASTER_READ_WRITE 10.10.108.183 CLDB_IS_MASTER_READ_WRITE 40:11:38 kvstore tables loading complete, cldb running as master
- Restart the secondary CLDB nodes.
NOTE
To know whether the optimization is complete, check if both
cldb.string.table.conversion.done
and
cldb.spcontainersmap.table.conversion.done
are both set to 1. For
example:
The CLDB does some part of the optimization on every CLDB start, hence it may take some time
to optimize the SP Container Map Tables
( maprcli config load -json | grep -i cldb.string.table.conversion.done
"cldb.string.table.conversion.done":"1",
maprcli config load -json | grep -i cldb.spcontainersmap.table.conversion.done
"cldb.spcontainersmap.table.conversion.done":"1",
cldb.spcontainersmap.table.conversion.done
) depending on the cluster
size.