Ответ
Шардирование — это горизонтальное разделение данных в БД, когда таблица разбивается на части (шарды) и распределяется по разным серверам. Каждый шард содержит подмножество данных, что позволяет масштабировать нагрузку и повышать производительность.
Пример:
Разделение пользователей по ID:
-- Шард 1 (ID 1-1000)
CREATE TABLE users_shard1 (
id INT PRIMARY KEY,
name VARCHAR(100)
);
-- Шард 2 (ID 1001-2000)
CREATE TABLE users_shard2 (
id INT PRIMARY KEY,
name VARCHAR(100)
);
Плюсы:
- Уменьшение нагрузки на отдельный сервер.
- Возможность географического распределения.
Минусы:
- Сложность JOIN-запросов между шардами.
- Необходимость решардинга при росте данных.
Критерии шардирования:
- По диапазону (даты, ID).
- По хэшу (равномерное распределение).
- По географическому признаку.
Видео-ответы
▶
▶