2011-01-27 156 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。這對你所討論的友善查詢特別有用。