Що таке горизонтальне масштабування (horizontal scaling)?
Горизонтальне масштабування (horizontal scaling) - це збільшення продуктивності системи за рахунок додавання нових серверів (вузлів), які спільно обробляють навантаження бази даних.
Ідея проста
Замість одного потужного сервера використовується кластер з кількох машин. Дані й запити розподіляються між ними. Основні методи:
- Шардування (sharding) - розділення даних на частини, кожна зберігається на окремому сервері. Наприклад, користувачі з ID 1-100000 на одному сервері, 100001-200000 - на іншому.
- Реплікація (replication) - копіювання даних між вузлами. Один сервер може бути основним (master), а решта - копіями (replicas), які приймають запити лише на читання.
- Балансування навантаження (load balancing) - розподіл запитів між серверами для рівномірного навантаження.
Перевага - практично необмежене зростання продуктивності й стійкість до відмов. Недолік - підвищена складність синхронізації даних, узгодженості транзакцій і адміністрування кластера.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.