Start with a SQL database instead of a NoSQL database. You aren’t going to break a SQL database with your first 10 million users. Not even close, unless your data is huge.

NoSQL: everything is denormalized.
SQL: normalize or denormalized.

When might you need to start with a NoSQL database

  • If you don’t have any relational data.
  • If you have an incredibly data-intensive workload.
    • If you need to store > 5 TB of data in year one.
  • Your application has super low-latency requirements.
    • Because of the Joins.
  • You need a really high throughput.
    • You need to really tweak the IOPS you are getting both on the reads and the writes.

Migrate from SQL to NoSQL

  • Denormalize right from the beginning and include no more Joins in any database query (see denormalization).
  • You can stay with MySQL, and use it as a NoSQL database, or you can switch to a better and easier to scale NoSQL database like MongoDB, CouchDB, Raven DB.



A: NoSQL databases are inefficient for joins or handling relations.
As such, NoSQL databases store everything in a denormalized fashion. In this case, we do have relations like user -> followers or tweets -> favourited by users.
SQL seems to win on this parameter on ease of use.

Leave a Reply