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

Работал ли с сегментированием БД

Да, работал. Сегментирование (шардинг) БД — это горизонтальное разделение данных на части (шарды), которые могут храниться на разных серверах. Это улучшает производительность и масштабируемость.

Пример с PostgreSQL:

python
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

Подключение к разным шардам

shard1 = create_engine('postgresql://user:pass@shard1/db')
shard2 = create_engine('postgresql://user:pass@shard2/db')

Выбор шарда по ключу (например, user_id)

def get_shard(user_id):
return shard1 if user_id % 2 == 0 else shard2

Использование

user_id = 123
shard = get_shard(user_id)
session = sessionmaker(bind=shard)()

text

Нюансы:  
- Сложность JOIN между шардами.  
- Необходимость балансировки нагрузки.  
- Важно правильно выбрать ключ шардирования.  

Использовал библиотеки вроде `sqlalchemy` или `django-multidb` для управления шардами.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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