DBAtlas · Atlas de operaciones de bases de datos

Estado del balancer, ventana activa y balanceo por colección

MongoDBSharding

Comando

// Is the balancer enabled, is it running a round right now:
sh.getBalancerState()
db.adminCommand({ balancerStatus: 1 })
// Run the balancer only between 01:00 and 05:00 (on mongos):
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $set: { activeWindow: { start: "01:00", stop: "05:00" } } }, { upsert: true })
// Remove the window:
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $unset: { activeWindow: true } })
// Disable / enable balancing for a single collection:
sh.disableBalancing("shop.musteri")
sh.enableBalancing("shop.musteri")
// Whether the collection is balanced (4.4+):
db.adminCommand({ balancerCollectionStatus: "shop.musteri" })

Qué hace

Muestra si el balancer está habilitado y ejecutando una ronda, restringe las migraciones de chunks a una ventana de tiempo y deshabilita o habilita el balanceo para una sola colección.

Cuándo usarlo

Cuando las migraciones de chunks perjudican el rendimiento diurno, durante la ventana de backup o al aislar un problema de migración en una colección.

Precaución

Una ventana demasiado estrecha no puede seguir el ritmo del crecimiento de datos y los shards se desequilibran; compruebe el equilibrio regularmente con balancerCollectionStatus. Una migración iniciada antes de que se cierre la ventana se ejecuta hasta terminar. Si se deja deshabilitado el balanceo por colección, esa colección sigue creciendo en un único shard.

Abrir en DBAtlas →

Relacionado