DBAtlas · Veritabanı operasyon atlası

Balancer durumu, çalışma penceresi (activeWindow) ve koleksiyon bazında dengeleme

MongoDBSharding

Komut

// Balancer acik mi, su an tur atiyor mu:
sh.getBalancerState()
db.adminCommand({ balancerStatus: 1 })
// Balancer'i yalnizca 01:00-05:00 arasinda calistir (mongos uzerinde):
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $set: { activeWindow: { start: "01:00", stop: "05:00" } } }, { upsert: true })
// Pencereyi kaldir:
db.getSiblingDB("config").settings.updateOne({ _id: "balancer" }, { $unset: { activeWindow: true } })
// Tek bir koleksiyon icin dengelemeyi kapat / ac:
sh.disableBalancing("shop.musteri")
sh.enableBalancing("shop.musteri")
// Koleksiyonun dengeli olup olmadigi (4.4+):
db.adminCommand({ balancerCollectionStatus: "shop.musteri" })

Ne yapar?

Balancer'ın açık olup olmadığını ve tur atıp atmadığını gösterir, chunk taşımalarını belirli saat aralığıyla sınırlar ve tek bir koleksiyonun dengelemesini kapatıp açar.

Ne zaman kullanılır?

Chunk migration'ların gün içi performansı etkilediği durumlarda, yedekleme penceresinde veya tek bir koleksiyonda migration sorununu izole ederken.

Dikkat

Pencere çok dar tutulursa veri büyüme hızına yetişemez ve shard'lar dengesizleşir; balancerCollectionStatus ile dengeyi düzenli kontrol et. Pencere dışında başlamış bir migration tamamlanana kadar sürer. Koleksiyon bazında kapatılan dengeleme unutulursa o koleksiyon tek shard'da büyümeye devam eder.

DBAtlas'ta aç →

İlgili