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