0

我正在使用 MongoDB 和 Ruby on rails 来构建 Web 服务。我有大约 10GB 的数据。数据中的集合(类似于 RDBMS 中的表)按国家/地区的州划分,集合中的字段因集合而异。我有 60 个收藏。如果我在使用 nosql 数据库时将 2-3 个集合与不同的字段结合起来,我不会遇到问题。

我的问题如果没有合并我的收藏,那么我的 rails 应用程序中将有 60 个模型。如果我将它们全部结合起来,那么我将拥有一个非常大的集合并且性能会降低。由于我的服务器资源有限,最佳选择是什么。我将根据 3-4 个不同的参数查询我的数据库。例如,我可能只搜索特定区域,或者可能会搜索某个人拥有的特定许可证类型,或者有时两者兼而有之。

4

1 回答 1

0

正如 Sergio 所说,在您查询的 3-4 个字段上包含索引的大型集合可能效果最好。

但是,您不必拥有 60 个模型,只需使用动态字段即可。这是使用 MongoDB 的主要好处之一。你可以在这里阅读 mongoid 。基本上,只需定义集合中所有文档共有的字段,然后根据需要设置和获取动态字段。

这里的一个问题是方法(“。”,点)属性访问器在设置该属性之前不起作用。因此,在您通过 model[:attribute] = "blah" 或 model.attribute = "blah" 设置一个之前,您不能说 model.attribute。

于 2012-05-18T18:06:53.783 回答