我即将启动一个项目,其中包含一个符合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中,吗啡的插件,例如,为您提供MongodDB GORM一样的功能,但它是非常有限的.