Я хочу создать интерфейс программирования приложений баз данных, написанный на Python, и используя SQLAlchemy (или любые другие соединители базы данных, если ему говорят, что использование SQLAlchemy для такого рода задач не является хорошим способом). Настройка - это сервер MySQL, работающий на Linux или BSD, а также программное обеспечение Python, работающее на Linux или BSD-машине (либо внешнем, либо локальном).
В основном я хочу создать новый поток для каждого соединения, и протокол будет обычным и довольно простым, хотя для каждого запроса я хотел бы открыть новую транзакцию (или сеанс, как я прочитал), а затем я необходимо выполнить сеанс. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что существует высокая вероятность того, что другие сеансы происходят одновременно с другим соединением.
Мой вопрос: что мне делать, чтобы справиться с этой ситуацией?
- Должен ли я использовать блокировку, так что только один сеанс может работать одновременно?
- Являются ли сеансы фактически потокобезопасными, и я ошибаюсь, думая, что это не так?
- Есть ли лучший способ справиться с этой ситуацией?
- Прокладывает ли он путь не к месту?