2011-07-25 29 views
4

我即將開始一個項目,該項目的數據庫符合在NOSQL數據庫(Hadoop,MongoDB,Cassandra等)中應該使用的數據庫。另一方面,我真的很喜歡使用Grails作爲Web平臺,所以如果任何人都可以用他/她的經驗教訓我,我會很感激。什麼是與Grails一起使用的NOSQL數據庫?

回答

5

這取決於您的要求,您的項目類型等,而不是在grails上。你指定了真正不同的技術,並且每種技術都有各自的優點和缺點。

首先:

  • Hadoop的僅僅是一個分佈式文件存儲。但它有一個關鍵值nosql db,在其上面稱爲HBase,是大數據處理的最佳選擇
  • MongoDB是一種面向文檔的存儲,適用於需要存儲大量無模式數據的情況
  • Cassandra是鍵值列式數據庫,當你擁有最佳的和你的數據定義的結構

因此,它不是Grails的,這是你需要什麼用的,你會選擇合適的存儲只後,將不得不看看web框架

請閱讀about CAP,關於每個存儲,比較mongodb and cassandra,已經有很多questions關於它

PS可能你可以使用任何具有Java驅動程序的NoSQL存儲與Grails。但請注意,像GORM這樣的Grails功能將被截斷。僅僅因爲GORM針對關係模型進行了優化。

例如,有一個mongodb-morphia插件,它爲MongodDB提供類似於gorm的功能,但它非常有限。

+0

mongodb-morphia插件已被mongodb插件取代,該插件提供更完整的GORM實現http://grails.org/plugin/mongodb –

7

個人而言,我會將搜索範圍限制爲那些有Grails plugins的NOSQL數據庫。在這份清單之外,我強烈支持那些被官方支持的(SpringSource)。這將減少你的選擇:

  • Redis的
  • 的GemFire
  • MongoDB的

做出最終的選擇,我會考慮的因素包括:

  • 社區的規模
  • 項目成熟與採納
  • 您的個人經驗