Ответ
Шардирование — это горизонтальное разделение данных в БД, когда таблица разбивается на части (шарды) и распределяется по разным серверам. Каждый шард содержит подмножество данных, что позволяет масштабировать нагрузку и повышать производительность.
Пример:
Разделение пользователей по 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).
- По хэшу (равномерное распределение).
- По географическому признаку.
Видео-ответы
▶
Собеседование на позицию Senior Python Developer 5000$ #12
▶
Python собеседование на 10000$
▶
Mock-собеседование по Golang и PostgreSQL от Senior из Ozon
▶
Открытое интервью на Middle Go-разработчика
▶
Открытое интервью на Go-разработчика | Эйч Навыки
▶
Миддл или же чего-то не хватает? / Техсобес на позицию Middle Python Developer / Mock interview
▶
Техническое собеседование middle-PHP разработчика
▶
Собеседование на позицию Backend Developer Python Middle #7
▶
Открытое интервью на Go-разработчика
▶
Открытое интервью на Go разработчика | Эйч Навыки
▶
Открытое тестовое интервью на Go разработчика | Эйч Навыки