【发布时间】:2010-10-21 02:46:45
【问题描述】:
我正在尝试弄清楚您如何在 CouchDB 或 MongoDB 这样的文档存储系统中设计数据存储。
我不再在查询中使用 JOIN,而是坚持搜索具有符合我标准的某些索引的行。例如,我可能会查找最近的 cmets (ORDER BY date) 或所有活跃用户 (WHERE status = 1)。换句话说,我的搜索逻辑都是基于存储在 RAM 中的索引 int 列。
转到 NoSQL,似乎没有任何索引 - 所以我试图找出这些数据库过滤结果而不手动查看每一行。 更新:不知何故我错过了这个:http://vivu.tv/portal/archive.jsp?flow=783-586-4282&id=1270584002677
至于设计,使用将包含所有 cmets 的帖子存储为一个文档的示例在逻辑上似乎并不合理。您如何找到最近的 cmets?或者如何找到某个用户的 cmets?
我可以去哪里学习如何转换架构(以及我的思维方式),以便我可以使用这些文档数据库构建应用程序?
更新: 我猜我只是没有花足够的时间浏览 MongoDB 网站。 The documentation 似乎涵盖了大部分需要的东西,比如使用索引来过滤结果,就像在 sql 中一样。 http://www.mongodb.org/display/DOCS/SQL+to+Mongo+Mapping+Chart 和 http://rickosborne.org/download/SQL-to-MongoDB.pdf 也正是我所需要的。
【问题讨论】:
标签: database-design nosql