Що таке "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)
Навіщо потрібні чанки
- Гнучкий розподіл даних MongoDB рухає чанки, а не конкретні записи. Це простіше й швидше.
- Балансування навантаження Якщо один шард перевантажений, частину чанків можна перенести на інші.
- Автоматичне керування масштабуванням Кластер сам стежить за розміром чанків і рівномірністю розподілу.
Ключовий сенс
- shard key → визначає діапазони
- chunk → зберігає конкретний діапазон
- шард → зберігає набір чанків
Підсумок
Chunk - це діапазон даних за shard key, мінімальна одиниця розподілу в шардуванні MongoDB. Саме чанки забезпечують балансування й гнучкість при горизонтальному масштабуванні.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.