#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, безусловно, является шагом к приложениям, независимым от поставщика.