Mongodb – Is using a relational DB for storing votes and (accessed resources) overkill

mongodbnosqlrelational-theory

I am writing a forum component for a site and would like to keep track of what topics/questions a user accesses so that other topics/questions can be recommended based on said users previous choices.

I'd imagine one individual data/row is not very important, where it'd absolutely necessitate ACID properties on every single entry; not to mention when the user-base grows large(on the order of millions, or tens of millions), this data set will surely explode. Is this then a case for using say, MongoDB? What is the advisable general approach for something like this or votes?

Best Answer

In general, clustered-NoSQL databases offer you better horizontal scalability. So, as you scale you can get higher capacity (both memory & compute power) by simply adding new nodes. So, it will be a good insurance for the future.

When it comes to ACID properties, NoSQL databases offer flexibility. So, it boils down to how much ACIDness you want and how much performance you are willing to give up for it. Seems that you do not need very high level of ACID. I am sure you can get good performance in lieu of that.

PS: I do not want to comment specifically about MongoDB. You should do your research and choose the NoSQL db that fits your performance & functional needs.

Related Question