Цель SQLAlchemy по MySQLdb

Почему люди используют SQLAlchemy вместо MySQLdb? Какие преимущества это предлагает?

15
задан Eric Pruitt 31 March 2010 в 03:19
поделиться

3 ответа

Вы не используете SQLAlchemy вместо MySQLdb - вы используете SQLAlchemy для доступа к чему-то вроде MySQLdb, oursql (еще один драйвер MySQL, который, как я слышал, лучше и имеет лучшую производительность), модуль sqlite3, psycopg2 или любой другой драйвер базы данных, который вы используете.

ORM (например, SQLAlchemy) помогает абстрагироваться от деталей используемой вами базы данных. Это позволяет вам избегать сложных деталей используемой вами системы баз данных, избегая возможности возникновения ошибок в некоторых случаях (и вводя возможность других) и делая перенос тривиальным (по крайней мере, теоретически).

21
ответ дан 1 December 2019 в 01:30
поделиться

В дополнение к тому, что сказал Алекс ...

  1. «нежелание изучать SQL», вероятно, плохо, однако, если вы хотите получить больше нетехнических людей вовлечено в процесс разработки, ORM неплохо справляются с этим, потому что они действительно понижают этот уровень сложности. Одним из элементов, которые сделали Django успешным, является его способность позволить «газетным журналистам» поддерживать веб-сайт, а не разработчикам программного обеспечения.

  2. Одно из ограничений ORM состоит в том, что они не так масштабируемы, как использование необработанного SQL. на предыдущей работе мы хотели избавиться от большого количества ручного создания SQL и переключились на ORM для простоты использования (SQLAlchemy, Elixir и т. д.), но через несколько месяцев мне пришлось снова писать необработанный SQL чтобы обойти неэффективные запросы или запросы с большой задержкой, которые были сгенерированы системой ORM.

3
ответ дан 1 December 2019 в 01:30
поделиться

Более легкая переносимость между различными механизмами БД (скажем, завтра вы решите перейти на sqlite, или PostgreSQL, или ...) и более высокий уровень абстракции (и, следовательно, потенциально более высокую производительность).

Это некоторые из веских причин. Есть также несколько плохих причин для использования ORM, например, нежелание изучать SQL, но я подозреваю, что SQLAlchemy, в частности, не очень нравится людям из-за таких плохих причин, по которым они хотят ORM, а не простой SQL ;-).

11
ответ дан 1 December 2019 в 01:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: