Как организована работа сессии SQLAlchemy — какой путь она проходит (engine, pool, session)?

Engine управляет взаимодействием с СУБД и пулом соединений, а Session — ORM-объектами и единицей работы. Session получает соединение из пула, когда действительно требуется обратиться к базе.

Короткий ответ

Что ответить на собеседовании

Engine управляет взаимодействием с СУБД и пулом соединений, а Session — ORM-объектами и единицей работы. Session получает соединение из пула, когда действительно требуется обратиться к базе.

Подробный разбор

Ответ с пояснениями

Engine управляет взаимодействием с СУБД и пулом соединений, а Session — ORM-объектами и единицей работы. Session получает соединение из пула, когда действительно требуется обратиться к базе.

Типичный путь: создают Engine и фабрику Session, открывают Session на ограниченную операцию, выполняют запросы, flush и commit либо rollback, затем закрывают Session. Соединение возвращается в пул, а не обязательно физически закрывается. Session обычно не берёт соединение сразу в конструкторе. Одну Session нельзя использовать как общий конкурентный объект для всех запросов; границы сессии и транзакции нужно задавать явно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее