Преимущества асинхронной работы с базами данных в SQLAlchemy:
- Возможность заниматься другими делами в ожидании завершения задачи. 1 Синхронный запрос останавливает выполнение вызывающей программы, а при асинхронном запрос ставится в очередь и обрабатывается через некоторое время. 1
Недостатки:
- Проблемы с Back Pressure. 1 Если количество входящих запросов превысит способность системы их обрабатывать, на сервере закончится память и произойдёт сбой. 1
- Ограничения на ленивую загрузку. 13 Связанные объекты могут истечь и вызвать исключение asyncio. 1
Также при асинхронной работе в SQLAlchemy нельзя использовать функцию run_sync(), которая позволяет запускать синхронные функции под asyncio. 1