4

I'm about to start a project that has a DB that complies with what should be used in a NOSQL DB (Hadoop, MongoDB, Cassandra, etc). On the other hand I'd really like to use Grails as Web platform so if anyone could enlighten me with his/her expreriences I'd be grateful.

jbellis
  • 19,347
  • 2
  • 38
  • 47
xain
  • 13,159
  • 17
  • 75
  • 119

2 Answers2

7

Personally, I would limit my search to those NOSQL databases for which there are Grails plugins. Out of that list, I would strongly favour those that are officially supported (by SpringSource). This reduces your choice to:

  • Redis
  • Gemfire
  • MongoDB

To make the final choice, I'd consider factors such as:

  • community size
  • project maturity and adoption
  • your personal experience
Dónal
  • 185,044
  • 174
  • 569
  • 824
5

It depends on your requirements, type of your project, etc, not on grails. You specified really different technologies, and every have their own advantages and disadvantages.

First of all:

  • Hadoop is just a distributed files storage. But it has a key-value nosql db, called HBase on top of it, optimal for big data processing
  • MongoDB is a document oriented storage, good for situation where you need to store large amount of schema-less data
  • Cassandra is key-value columnar database, optimal when you have and defined structure of your data

So, it not about grails, it's about what you need to use, and only after you'd chosen appropriate storage, you'll have to look at web framework

Please read about CAP, about each storage, compare mongodb and cassandra, there is already a lot of questions about it

PS probably you can use any of NoSQL storages, that have Java driver, with Grails. But note that some grails features like GORM will be truncated. Just because GORM is optimised for relational model.

There is mongodb-morphia plugin, for example, that gives you gorm-like functionality for MongodDB, but it's very limited.

Community
  • 1
  • 1
Igor Artamonov
  • 35,450
  • 10
  • 82
  • 113
  • The mongodb-morphia plugin has been superseded by the mongodb plugin which provides a more complete GORM implementation http://grails.org/plugin/mongodb – Dónal Feb 17 '14 at 10:15