Skip to main content

Що таке "chunk" у MongoDB?

Chunk у MongoDB - це логічна порція даних усередині шардованої колекції, що являє собою діапазон значень shard key. MongoDB ділить колекцію на такі чанки, а потім розподіляє їх по шардах.

Як це працює

  • Дані не зберігаються по одному документу на шард, а групуються в чанки
  • Кожен chunk описує діапазон shard key, наприклад:
javascript
{ shardKey: 1 } від 100 до 199 → шард A { shardKey: 1 } від 200 до 299 → шард B
  • Якщо chunk стає завеликим, MongoDB автоматично ділить його (chunk split)
  • Для балансування навантаження чанки можуть переїжджати між шардами (chunk migration)

Навіщо потрібні чанки

  1. Гнучкий розподіл даних MongoDB рухає чанки, а не конкретні записи. Це простіше й швидше.
  2. Балансування навантаження Якщо один шард перевантажений, частину чанків можна перенести на інші.
  3. Автоматичне керування масштабуванням Кластер сам стежить за розміром чанків і рівномірністю розподілу.

Ключовий сенс

  • shard key → визначає діапазони
  • chunk → зберігає конкретний діапазон
  • шард → зберігає набір чанків

Підсумок

Chunk - це діапазон даних за shard key, мінімальна одиниця розподілу в шардуванні MongoDB. Саме чанки забезпечують балансування й гнучкість при горизонтальному масштабуванні.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.