Introducing Polyglot Persistence
In 2006, Neal Ford coined the term called Polyglot programming, which in short tells you to use different programming languages which are best suited to solve a specific problem instead of trying to solve all problems using a single programming language. He suggested that there are different programming languages which are best suited for particular things, such as Java for data processing, Erlang for functional programming, and so on.
As the field of databases is growing, we have lots of different databases to solve different kinds of problems.
For example, SQL is still suited for user-based applications such as Quora, NoSQL is suited for large-batch processing and analytics such as Hadoop, and real-time databases such as RethinkDB are suited for building interactive real-time applications.
Note
For more information, read why Quora uses MySQL at: https://www.quora.com/Why-does-Quora-use-MySQL-as-the-data-store-instead-of-NoSQLs-such-as-Cassandra-MongoDB-or-CouchDB...