2009-08-20 6 views
10

저는 App Engine의 Python 버전을 사용하고 싶습니다. Google 데이터 저장소 전용 코드를 작성하기보다는 Big Table에 연결할 수있는 일반 Python ORM으로 모델을 만들고 싶습니다. 만약 내가 선호한다면, 나중에 정규 데이터베이스를 사용할 수 있습니다. SQLAlchemy와 같은 Python ORM이 있나요?Python ORM (SQLAlchemy?)이 Google App Engine에서 작동합니까?

답변

7

기술적으로 이것은 ORM (Object Relational Mapper)이 아니라 DAL (Database Abstraction Layer)이라고합니다. API가 이미 객체 매핑을 처리하고 간단한 관계 매핑을 수행하기 때문에 ORM 부분은 AppEngine에서별로 흥미롭지 않습니다 (RelationProperty 참조).

DAL은 AppEngine의 데이터 저장소와 mysql과 같은 "정상적인"sql 데이터베이스를 절대로 다른 방식으로 전환 할 수 있도록합니다. reddis, mongo 또는 tokyo cabinet과 같은 다른 키 값 저장소간에 전환 할 수 있습니다. 하지만 그들은 모두 매우 다른 특성을 가지고 있기 때문에 실제로 사용하기 전에 두 번 생각할 것입니다.

마지막으로, DAL은 일반적으로 DB 인터페이스의 맨 위에 있지만 AppEngine의 API를 사용하면 기본적으로 API에서 다른 저장소 백엔드를 사용할 수있게하는 "스텁"을 구현할 수 있습니다. Mongo의 사람들은 MongoDB에 one을 작성했습니다. 매우 좋습니다. 그리고 dev_appserver는 파일 시스템 기반의 것입니다.

이제 답변을 드리겠습니다 : 예! 그것은 web.py의 일부입니다. 위의 이유로 인해 실제로 시도하지 않았으므로 좋은 결과인지 실제로 말할 수 없습니다.

추신. 나는 Ruby가 keyvalue 상점을위한 훌륭한 DAL 프로젝트를 가지고 있다는 것을 알고 있지만, 지금 그것을 발견 할 수 없다. 어떤 점에서 파이썬으로 이식하는 것이 좋을지도 모른다. 요즘

+6

web2py (web2py.com)와 web.py (webpy.org)는 2 개의 다른 프레임 워크입니다 :) –

+0

난 당신이 Web2Py에 대해 얘기하고 생각 : HTTP ://www.web2py.com/book/default/chapter/06 또한 http://web2py.com/ 홈 페이지의 ** Talks to ** 섹션에 나와 있습니다. –

3

이 Google 클라우드 SQL을 출시했기 때문에 할

관련 문제