Встречается на собеседованиях • сегодня

В чем разница между шардированием и партиционированием БД

Шардирование и партиционирование — это два подхода к горизонтальному разделению данных, но они различаются по масштабу и реализации:

Партиционирование — логическое разделение данных внутри одной БД (например, по диапазонам дат). Все партиции хранятся на одном сервере. Управляется СУБД (например, PARTITION BY RANGE в PostgreSQL).

Шардирование — физическое распределение данных по разным серверам (шардам). Каждый шард — независимая БД. Требует внешнего управления (например, ручной маршрутизации запросов).

Пример партиционирования в PostgreSQL:

sql
CREATE TABLE logs (
    id SERIAL,
    log_date DATE,
    message TEXT
) PARTITION BY RANGE (log_date);

Пример шардирования (условный код):

python
# Определяем шард по user_id
shard_id = user_id % 3  
connection = connect_to_shard(shard_id)

Ключевое отличие: партиции — на одном сервере, шарды — на разных. Шардирование сложнее, но масштабируется лучше.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы