Обязательно ли использовать асинхронные функции с asyncio?
Вся эта асинхронщина нужна для одной единственной цели - не ждать, пока другие процессы работают.
Если вы можете обойтись без асинхронного кода и вам не мешают блокировки на время доступа к БД, то зачем вам вообще asyncio и aiohttp? Используйте тогда flask и запускайте gunicorn'ом много одинаковых процессов с вашим приложением и работайте в них синхронно.

Если вы в асинхронном коде сделаете блокирующий вызов к БД и будете ждать пока она ответит, то вы в этом месте убиваете всё полезное, что даёт вам асинхронщина, но оставляете все неудобства, ведь асинхронный код сложнее синхронного, его труднее писать, труднее отлаживать, труднее тестировать, труднее читать.
Вся эта асинхронщина нужна для одной единственной цели - не ждать, пока другие процессы работают.
Если вы можете обойтись без асинхронного кода и вам не мешают блокировки на время доступа к БД, то зачем вам вообще asyncio и aiohttp? Используйте тогда flask и запускайте gunicorn'ом много одинаковых процессов с вашим приложением и работайте в них синхронно.

Если вы в асинхронном коде сделаете блокирующий вызов к БД и будете ждать пока она ответит, то вы в этом месте убиваете всё полезное, что даёт вам асинхронщина, но оставляете все неудобства, ведь асинхронный код сложнее синхронного, его труднее писать, труднее отлаживать, труднее тестировать, труднее читать.