Работают ли какие-либо ORM Python (SQLAlchemy?) с Google App Engine?

Я хотел бы использовать версию App Engine для Python, но вместо того, чтобы писать свой код специально для Google Data Store, я хотел бы создавать свои модели с помощью универсального ORM Python, который можно было бы присоединить к Big Table, или, если я предпочитаю, обычную базу данных в более позднее время. Есть ли какой-либо Python ORM, такой как SQLAlchemy, который позволил бы это?


person colloquial    schedule 20.08.2009    source источник


Ответы (2)


Технически это называется не ORM (объектно-реляционное сопоставление), а DAL (уровень абстракции базы данных). Часть ORM не очень интересна для AppEngine, поскольку API уже заботится о сопоставлении объектов и выполняет некоторые простые реляционные сопоставления (см. RelationProperty).

Также поймите, что DAL никогда не позволит вам переключаться между хранилищем данных AppEngine и «нормальной» базой данных sql, такой как mysql, потому что они работают совершенно по-разному. Это может позволить вам переключаться между различными хранилищами ключевых значений, такими как reddis, mongo или tokyo кабинет. Но поскольку все они имеют такие разные характеристики, я бы действительно дважды подумал, прежде чем использовать один.

Наконец, DAL традиционно находится поверх интерфейса БД, но с API AppEngine вы можете реализовать свои собственные «заглушки», которые в основном позволяют вам использовать другие серверные части хранилища на их API. Люди в Mongo написали one для MongoDB, что очень приятно. И dev_appserver поставляется с файловой системой.

А теперь к ответу: да есть! Это часть web.py. Я действительно не пробовал, если по причинам, указанным выше, поэтому я не могу сказать, хорошо ли это.

PS. Я знаю, что у Ruby также есть хороший проект DAL для хранилищ значений ключей, но я не могу найти его сейчас... Может быть, в какой-то момент будет неплохо перенести его на Python.

person Koen Bok    schedule 21.08.2009
comment
web2py (web2py.com) и web.py (webpy.org) — это 2 разных фреймворка :) - person Steven Kryskalla; 23.08.2009
comment
Я полагаю, вы говорите о Web2Py: web2py.com/book/default/chapter/06, а также упоминается на главной странице web2py.com в разделе Обсуждение раздел. - person Cyril N.; 27.07.2011

В настоящее время они делают это с тех пор, как Google запустил Cloud SQL.

person PanosJee    schedule 04.07.2012