Supposing I've started a new project that needs a database for persistence purposes.
What are common practices to determine which database technology (MSSQL, MySQL, MongoDB, etc...) would best fit the requirements of the project?
What are important considerations to keep in mind when looking for a proper database technology?
( 4 months ago )
Adding a no-answer as I don't know of a formal method for choosing a database architecture (remember you buy a architecture with special backup requirement, HA feature, hardware requirements). Basically it boils down to
You need the optimal database for the enterprise not only your project (If a "optimal" database for your project would be DB2 on AIX is of no use to your project if all your operating team does only Windows and SQL Server)
Do you need HA? which one? Switchover? active-active?
What type of disaster recovery do you need?
Formal (e.g. customer requirements, supported OS) and legal requirements
What type of infrastructure is on the customer site (SAN? virtualization? cloud?)
Monitoring? Backup? (If your backup software does not support a RAC database or the modules for backing it up cost more than the rest of your project, it's pointless to use that database. Same is valid for monitoring
Skill of your operating teams
type of data (Geodata?) Is it business critical? (your HR has slightly different impact than a simple database the tags on your website
amount of data
There is a whole lot more to consider but in my experience these are good starting points.