Заранее извиняюсь, если этот вопрос слишком общий или существует решение, которое я не нашел в процессе поиска.
Я работал на простом REST-сервере с web.py, и моим бэкэндом был mysql, поэтому я использовал декларативные объекты sqlalchemy. Все работает на удивление хорошо, но я оказался довольно тесно связан с использованием базы данных, которую поддерживает sqlalchemy в то время. Если бы я захотел перейти на mongodb или что-то еще, мои декларативные классы, специфичные для sqlalchemy, пришлось бы переписать или удалить.
Мне было интересно, есть ли какой-нибудь проект (или, в более общем случае, пример шаблона проектирования), который позволил бы вам подключить любой бэкэнд. Я уверен, что потребовалось бы приличное количество кода, чтобы переключиться с SQL-сервера на Mongo-сервер (например), но если бы были какие-то хорошо известные стратегии, чтобы минимизировать боль, мне было бы очень любопытно услышать о них.
Большое спасибо за любые ответы!