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的功能,但它非常有限。