Шардинг vs разделение — в чем разница?
Разделение (Партиционирование)
* Разделение большой таблицы на более мелкие части (называемые партициями или разделами)
* Происходит внутри одного сервера базы данных
* Улучшает производительность и упрощает обслуживание
Пример: разделение таблицы логов по месяцам в рамках одного экземпляра PostgreSQL
Шардинг
* Распределение данных между несколькими серверами базы данных
* Каждый сервер (шар) содержит часть полного набора данных
* Позволяет осуществлять горизонтальное масштабирование, когда одного сервера недостаточно
Шардинг = Горизонтальное партиционирование + Распределение по серверам
Пример: распределение записей пользователей по шарам на основе ID пользователя
В большинстве систем:
* Партиционирование данных используется для оптимизации производительности внутри одного сервера
* Шардинг применяется, когда одного сервера становится недостаточно и требуется горизонтальное масштабирование
Post #1800
1.99K

- 👍 11
- ❤ 2
- 🔥 2