我正在考虑将 CouchDB 用于一个项目,将 GAE 应用程序引擎数据存储用于另一个项目。对于关系的东西,我倾向于使用 postgres,尽管我更喜欢 ORM。
无论如何,哪些用例最适合非关系数据存储?
我正在考虑将 CouchDB 用于一个项目,将 GAE 应用程序引擎数据存储用于另一个项目。对于关系的东西,我倾向于使用 postgres,尽管我更喜欢 ORM。
无论如何,哪些用例最适合非关系数据存储?
这是一篇不错的小文章(分三页),涵盖了非关系数据库的用例。
http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomed.php
简而言之,当您需要大规模可扩展性时,您可能需要一个非现实数据库。当然,您最终可能会编写更多代码来完成关系数据库为您所做的事情,但是如果您真的需要这种可伸缩性,那么关系数据库选项通常会更昂贵,并且很难正确构建。
考虑您有许多实体类型但每个实体的实例很少的情况。在这种情况下,您将有许多表,每个表都有几条记录,因此关系方法不适合。
在某些情况下,这简直太好了。ZODB 是一个纯 Python 的对象数据库,它与 Python 集成得非常好,以至于您可以简单地忘记它的存在。大多数时候,您不必为此烦恼。