2011-01-27 153 views
3

我正处于涉及数十亿条记录的学术项目的架构阶段。该项目在计算能力和高度可扩展性方面应该非常轻便。 信息结构非常简单:我需要存储每个具有不同特征的项目列表。该功能是整数,小数点,日期,字符串等。当数据导入时,功能的类型是已知的。此外,功能可用于引用其他项目。
我需要能够通过其功能(多于一个)获取和排序项目列表 - 可能使用查询(如>,<,=和regexes,length,left,right,值和用户任意输入。NoSQL数据库和报告

从总和意义上讲,平均值和分组的需求也是必要的,因为需求更加宽松 - 不需要完整的立方体功能,但更多更好。

我对整个NoSQL世界都很陌生。你会推荐什么?。

回答

4

如果您查看了MongoDB的教程,在我看来,它们对用于查询和聚合的Map/Reduce系统有最好的介绍。

我在想,为什么你事先得出结论说NoSQL是要走的路线。虽然不同的项目可能有不同的模式,但是有固定数量的实体和属性,以及为什么你(如果有的话)排除了SQL,毕竟,它具有数十年用于存储和查询数据的累积功能。

+0

属性完全是任意的。我有一些SQL VLDB的经验,并不好。它需要太多处理。 – Sonia 2011-01-27 18:48:48

0

如果您打算使用聚合,那么您可以使用map reduce来填充聚合表,然后提供该数据。

为每个查询编写map reduce可能很麻烦,你也可以看看Apache Pig和Hive。这对你所讨论的友善查询特别有用。