与Grails一起使用的NOSQL数据库是什么?

What is the NOSQL Database of choice to use with Grails?

我即将启动一个项目,其中包含一个符合NOSQL数据库(Hadoop,MongoDB,Cassandra等)应该使用的数据库。 另一方面,我真的很想使用Grails作为Web平台,所以如果有人能用他/她的经验来启发我,我将不胜感激。


就个人而言,我会将搜索限制在那些有Grails插件的NOSQL数据库中。在该列表中,我强烈支持那些正式支持的(SpringSource)。这会减少您的选择:

  • Redis的
  • 的GemFire
  • MongoDB的

为了做出最终选择,我会考虑以下因素:

  • 社区规模
  • 项目成熟度和采用率
  • 你的个人经历

这取决于您的要求,项目类型等,而不是grails。你指定了真正不同的技术,每一种都有各自的优缺点。

首先:

  • Hadoop只是一个分布式文件存储。但它有一个键值nosql db,在它之上称为HBase,是大数据处理的最佳选择
  • MongoDB是一个面向文档的存储,适用于需要存储大量无模式数据的情况
  • Cassandra是键值列式数据库,在您拥有和定义数据结构时是最佳的

所以,它不是关于grails,而是关于你需要使用什么,只有在你选择了适当的存储之后,你才会看到web框架

请阅读CAP,关于每个存储,比较mongodb和cassandra,已经有很多关于它的问题

PS可能你可以使用任何带有Java驱动程序的NoSQL存储器和Grails。但请注意,GORM等一些Grails功能将被截断。仅仅因为GORM针对关系模型进行了优化。

例如,mongodb-morphia插件为MongodDB提供类似gorm的功能,但它非常有限。