Що таке shard key (ключ шардування)?
Shard key - це поле (чи набір полів) у документі, за яким MongoDB розподіляє дані між шардами. Саме shard key визначає, на який сервер потрапить конкретний документ.
Навіщо потрібен shard key
- щоб розділити дані на частини
- щоб рівномірно розподіляти навантаження
- щоб запити могли виконуватися на потрібному шарді, а не на всіх одразу
Основна ідея
Якщо обрати shard key, наприклад:
js
{ shardKey: 1 }то документи з різними значеннями shardKey опиняться на різних шардах, а не на одному сервері.
Вимоги
Shard key має бути:
- рівномірно розподіленим (щоб навантаження не пішло на один шард)
- часто використовуваним у запитах, щоб більше запитів могли йти в один конкретний шард (а не broadcast на всі)
Підсумок
Shard key - поле, яке визначає, як документи розподіляються по шардах, і від правильного вибору shard key залежить ефективність усього шардованого кластера.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.