How To Choose A Database For Your Next Application ?
Well, it depends.
Want to know what options are available and how to choose one for your own application, read this wonderful article by James Hamilton. Though this article does not include all possible options (particularly those on the cloud), but its a nice introduction to classify databases based on what you need.
Relational databases have become so ubiquitous that the term “database” is often treated as synonymous with relational databases like Oracle, SQL Server, MySQL, or DB2. However, the term preceded the invention and implementation of the relational model and non-relational data stores remain important today.
Relational databases are incredibly rich and able to support a very broad class of applications but with incredible breadth comes significant complexity. Many applications don’t need the rich programming model of relational systems and some applications are better serviced by lighter-weight, easier-to-administer, and easier-to-scale solutions. Both relational and non-relational structured storage systems are important and no single solution is appropriate for all applications.
Good to know. But before you start researching for a perfect Database for your App ..
Keep this great suggestion from 37signals in mind. I am big fan of “Getting Real”. The team behind “Getting Real” @ 37Signals suggest that you don’t worry too much about Scalability aspects early in the design of your application, as you will have lots of time later on to figure out.
In the beginning, make building a solid core product your priority instead of obsessing over scalability and server farms.Create a great app and then worry about what to do once it's wildly successful. Otherwise you may waste energy, time, and money fixating on something that never even happens.
Believe it or not, the bigger problem isn't scaling, it's getting to the point where you have to scale. Without the first problem you won't have the second.
Source: Getting Real – Scale Later