【发布时间】:2010-10-15 08:30:18
【问题描述】:
我开始参与一个开源项目Gramps,该项目正在探索将他们的后端从 BSDDB 切换到关系数据库。无论是 SQLite 还是 MySQL,我们都还没有完全决定,甚至可能会在有限的能力范围内同时尝试两者。我是一名专业开发人员,但我是 python 新手,所以我对当前的工具/库选择不太熟悉。我的任务是研究数据库抽象层。 There is currently a wiki discussion going on to compare them. 对象关系映射器可能很好,但不是绝对必要的。虽然我知道这通常是数据库抽象层的同义词。如果包含 ORM,则必须提供即席查询,而无需费力。
目前列表包括:
CouchDB 我还没有研究这个。
DB-API 这似乎是一个标准的 python api,每个 db 创建自己的模块来使用它。甚至 BSDDB 似乎也写了一个,但我还没有完全探索它。模块可以互换吗?
SQLAlchemy 这似乎是现在最流行的?但我对 python 世界的了解非常有限。
SQLObject 我还没有研究这个。
那么人们对python的数据库抽象层有什么看法和建议?
【问题讨论】:
-
很好地回答了所有问题。我在gramps wiki上写了我的最终建议。 gramps-project.org/wiki/…
标签: python sql mysql database sqlite