【发布时间】:2012-05-25 10:26:06
【问题描述】:
谁能告诉我并描述一下 oodbms 实现可用于在其上存储所有持久数据的生产性 Web 应用程序。
【问题讨论】:
标签: python database web-applications object-oriented-database
谁能告诉我并描述一下 oodbms 实现可用于在其上存储所有持久数据的生产性 Web 应用程序。
【问题讨论】:
标签: python database web-applications object-oriented-database
也许你应该给ZODB 看看。即使用户社区不像其他一些 DBMS 那样大,它也很容易使用。
【讨论】:
经过一些研究和基准测试。我发现MongoDB 很有成效,因为:
MongoDB(来自“humongous”)是一个可扩展、高性能、开源的 NoSQL 数据库。用 C++ 编写,MongoDB 特性:
面向文档的存储 » 具有动态模式的 JSON 样式文档提供了简单性和强大的功能。
完整的索引支持 » 任何属性的索引,就像你习惯的那样。
复制和高可用性 » 跨 LAN 和 WAN 镜像,以实现规模化和高枕无忧。
自动分片 » 在不影响功能的情况下水平扩展。
查询 » 丰富的基于文档的查询。
快速就地更新 » 用于无争用性能的原子修饰符。
映射/减少 » 灵活的聚合和数据处理。
GridFS » 存储任何大小的文件,而不会使您的堆栈复杂化。
商业支持 » 提供企业级支持、培训和咨询。
编辑 1:
python中提供mongodb的包:
虎猴 Humongolus 是一个用于 Python 和 MongoDB 的轻量级 ORM 框架。这个名字来自 MongoDB 和 Homunculus(一个微型但完全成形的人体的概念)的组合。 Humongolus 允许您创建具有强大验证的模型/模式。它尝试尽可能地 Pythonic,并尽可能公开 pymongo 游标对象。代码可在 github 下载。 GitHub 上也提供了教程和使用示例。
MongoKit MongoKit 框架是 PyMongo 之上的一个类似 ORM 的层。还有一个MongoKit google group。
明 Ming (the Merciless) 是一个库,它允许您在 Python 应用程序中对 MongoDB 数据库实施模式。它是由 SourceForge 在迁移到 MongoDB 的过程中开发的。有关详细信息,请参阅介绍性博客文章。
蒙古炼金术 MongoAlchemy 是 PyMongo 之上的另一个类似 ORM 的层。它的 API 受到 SQLAlchemy 的启发。代码在 github 上可用;有关详细信息,请参阅教程。
MongoEngine MongoEngine 是 PyMongo 之上的另一个类似 ORM 的层。它允许您使用受 Django ORM 启发的语法为文档和查询集合定义模式。代码在 github 上可用;有关详细信息,请参阅教程。
Minimongo minimongo 是 MongoDB 的轻量级 Python 接口。它保留了 pymongo 的查询和更新 API,并提供了许多附加功能,包括简单的面向文档的接口、连接池、索引管理以及集合和数据库命名助手。源码在github上。
【讨论】: