Пишу веб-приложение на tornado/sqlalchemy/postgreSQL
Насколько я понял, алхимия умеет в качестве сессии использовать как класс Session
Session = scoped_session(sessionmaker())
session = Session()
Теоретическое:
- В чем основная разница?
- Session создает только одно подключение к БД?
- При каких практических ситуациях что стоит использовать? Если планируется 100 юзеров? А если 100 тысяч?
Практическое:
- Посоветуйте как быть в такой ситуации. Мне нужно открывать транзакцию в одной функции, а коммитить ее в другой (причем даже в разных хэндлерах это делать, но это не суть). При этом, естественно, чтобы другой юзер при коммите чего то своего, не затянул бы эти изменения, и наоборот. К примеру, я создал экзмепляр сессии. И где мне его хранить? Пока вижу решение только через временные таблицы.
Спасибо.