API базы данных Python ПРОТИВ SQLAlchemy для приложений, не зависящих от базы данных

#python #database #sqlalchemy

Вопрос:

Я ищу разработку приложения на Python, которое можно легко передавать между базами данных. Я имею в виду, что если я сейчас использую базу данных MySQL для приложения, я хочу иметь возможность развернуть ее в другом месте, например, с помощью Postgres, не сильно изменяя код.

На данный момент я использую базу данных MySQL, и я использовал mysql-connector-python ее для доступа к ней через свое приложение.

Изучая, как я могу сделать его более агностичным, я наткнулся на SQLAlchemy и, что интересно, API базы данных Python. Я узнал здесь, что Python создал общую спецификацию для реализации модулей для доступа к базам данных. Я видел это mysql-connector-python mariadb и psycopg2 следую этой спецификации.

Итак, мой вопрос заключается в том, является ли моей единственной целью возможность переноса или быть агностиком базы данных, стоит ли переходить на SQLAlchemy или мне просто придерживаться модулей, доступных для каждой базы данных? Я спрашиваю об этом, потому что, насколько мне известно, основное использование SQLAlchemy заключается в том, что программа может быть написана более питоническим способом, не беспокоясь о разработке SQL-запросов.

Существуют ли какие-либо базы данных, которые не соответствуют этой спецификации? Как это работает, когда речь заходит о реализациях хранилищ данных, таких как Google BigQuery?

Комментарии:

1. Синтаксис SQL часто зависит от конкретного поставщика, поэтому отказ от написания какого-либо SQL, безусловно, является шагом к приложениям, независимым от поставщика.