Чому MongoDB масштабується горизонтально?
Тому що MongoDB від початку спроєктована так, щоб дані можна було ділити на частини й зберігати на кількох серверах, а не на одному. Вона використовує механізми реплікації й шардування, щоб розподіляти й зберігати дані в кластері.
Ключові причини
- Дані можна розбити на шарди
Колекція ділиться за
shard key, і кожна частина йде на свій сервер. Завдяки цьому навантаження не концентрується в одному місці. - Немає прив'язки до однієї машини На відміну від багатьох SQL-систем, MongoDB вміє працювати як єдина база, навіть якщо дані фізично лежать на десятках нод.
- Запити маршрутизуються через mongos Клієнт не думає, "де лежать дані" - роутер сам надсилає запит на потрібний шард.
Що це дає
- база не впирається в потужність одного сервера
- можна додавати нові машини в міру росту навантаження
- читання й запис розподіляються між нодами
Підсумок
MongoDB масштабується горизонтально, тому що вміє розподіляти дані й навантаження по багатьох серверах, зберігаючи при цьому видимість однієї логічної бази.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.