Skip to main content

Що таке shard key (ключ шардування)?

Shard key - це поле (чи набір полів) у документі, за яким MongoDB розподіляє дані між шардами. Саме shard key визначає, на який сервер потрапить конкретний документ.

Навіщо потрібен shard key

  • щоб розділити дані на частини
  • щоб рівномірно розподіляти навантаження
  • щоб запити могли виконуватися на потрібному шарді, а не на всіх одразу

Основна ідея

Якщо обрати shard key, наприклад:

js
{ shardKey: 1 }

то документи з різними значеннями shardKey опиняться на різних шардах, а не на одному сервері.

Вимоги

Shard key має бути:

  • рівномірно розподіленим (щоб навантаження не пішло на один шард)
  • часто використовуваним у запитах, щоб більше запитів могли йти в один конкретний шард (а не broadcast на всі)

Підсумок

Shard key - поле, яке визначає, як документи розподіляються по шардах, і від правильного вибору shard key залежить ефективність усього шардованого кластера.

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

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

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