MySQL is good! It is a powerful RDBMS with a big market share, supported by a large community. It is open source (though enterprise flavors exist), and almost every PHP application uses it as the main database system.
But once in a while, you will notice that MySQL isn't good enough for your needs. Maybe you have heard people talk about MongoDB, CouchDB, Cassandra, and so on. We will use MongoDB in our project, so I am going to talk about it.
In general, you will use a NoSQL system, such as MongoDB, when you want to develop real-time analytics, cache, and logs; store big data, such as comments or likes; and handle many other situations.
A few of the differences between a SQL and NoSQL database are as follows:
NoSQL is not relational
NoSQL is not reliable; or better said, it is not safe to use in a complex system, because it does not support transactions
A relational database requires a structure with defined attributes to hold the data, but...