Чим шардування відрізняється від реплікації?
Шардування й реплікація вирішують різні задачі, хоча обидва стосуються розподілених даних у MongoDB.
Реплікація
Мета: відмовостійкість і масштабування читання. Суть: ті самі дані копіюються на кілька вузлів.
- є Primary і кілька Secondary
- усі вузли зберігають однаковий набір даних
- якщо Primary падає - Secondary його заміщує
- можна читати з Secondary, щоб розвантажити Primary
Ключова ідея: кілька копій заради надійності й доступності.
Шардування
Мета: масштабування за обсягом даних і навантаженням на запис. Суть: дані діляться на частини (шарди), і кожна частина лежить на своєму сервері.
- кожен шард зберігає лише частину колекції
- навантаження розподіляється по різних вузлах
- база може рости практично без обмежень
- записи й читання розподіляються по шардах
Ключова ідея: розділити великі дані між кількома машинами.
Якщо в одне речення
- Реплікація - ті самі дані на кількох серверах (надійність + масштабування читання).
- Шардування - різні дані на різних серверах (масштабування запису й обсягу).
Хочеш - можу в наступному повідомленні дати аналогію на пальцях, типу "реплікація - це ксерокопії, а шардування - розділи книги в різних кімнатах".
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.