Skip to main content

Чим шардування відрізняється від реплікації?

Шардування й реплікація вирішують різні задачі, хоча обидва стосуються розподілених даних у MongoDB.

Реплікація

Мета: відмовостійкість і масштабування читання. Суть: ті самі дані копіюються на кілька вузлів.

  • є Primary і кілька Secondary
  • усі вузли зберігають однаковий набір даних
  • якщо Primary падає - Secondary його заміщує
  • можна читати з Secondary, щоб розвантажити Primary

Ключова ідея: кілька копій заради надійності й доступності.

Шардування

Мета: масштабування за обсягом даних і навантаженням на запис. Суть: дані діляться на частини (шарди), і кожна частина лежить на своєму сервері.

  • кожен шард зберігає лише частину колекції
  • навантаження розподіляється по різних вузлах
  • база може рости практично без обмежень
  • записи й читання розподіляються по шардах

Ключова ідея: розділити великі дані між кількома машинами.

Якщо в одне речення

  • Реплікація - ті самі дані на кількох серверах (надійність + масштабування читання).
  • Шардування - різні дані на різних серверах (масштабування запису й обсягу).

Хочеш - можу в наступному повідомленні дати аналогію на пальцях, типу "реплікація - це ксерокопії, а шардування - розділи книги в різних кімнатах".

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

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

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