Migration from MySQL to NoSQL

Hi All,

We are working on a rails application using MySQL. It has become inevitable for us to use NoSQL DB for one of our models. Please note that performance is not yet the reason for us to move to NoSQL. I have the following questions: 1. Should we move all the models from MySQL to NoSQL; or have both MySQL and NoSQL and use NoSQL for those models which need. 2. If it is chosen to have both DBs, won't association be a problem between model using different DBs? 3. If it is chosen to have only NoSQL DB, I am wondering if the gems we use also work with the new DB we choose. The gems that concern me the most are devise, cancan and will_paginate. I read that all these have work arounds to make them work with MongoDB. Just wanted to know if anyone has a successful outcome. 4. Which one is preferred? MongoDB, CouchDB, Redis or anything else? I understand that the choice depends on the requirement. Consider our application to be a social application, some thing like facebook.

Thanks in advance.

Best Regards, Satyaram BV

Hi All,

We are working on a rails application using MySQL. It has become inevitable for us to use NoSQL DB for one of our models. Please note that performance is not yet the reason for us to move to NoSQL. I have the following questions: 1. Should we move all the models from MySQL to NoSQL; or have both MySQL and NoSQL and use NoSQL for those models which need. 2. If it is chosen to have both DBs, won't association be a problem between model using different DBs? 3. If it is chosen to have only NoSQL DB, I am wondering if the gems we use also work with the new DB we choose. The gems that concern me the most are devise, cancan and will_paginate. I read that all these have work arounds to make them work with MongoDB. Just wanted to know if anyone has a successful outcome. 4. Which one is preferred? MongoDB, CouchDB, Redis or anything else? I understand that the choice depends on the requirement. Consider our application to be a social application, some thing like facebook.

All of these really do depend to a degree on which one you pick, which depends on your use case. You're going to need to think a bit further than 'like Facebook'. They all make tradeoffs, and only you can tell which ones work or you. For example do you want mongodb's document oriented storage, is redis' store everything in ram and possibly lose the last few seconds ok, does cassandra's eventual consistency model work for you?

Fred