The modern dynamic web application is just unimaginable without efficient backend storage. And the choice of the backend storage we make while evaluating the project is based on thorough analysis of the project requirements gathered from its prospective users. We take into the data volumes to store in the database, its volatility, how many people will be accessing it at once and many other considerations. Whenever possible we are using the opensource solutions for optimal budget
usage. But if opensource solution is not sufficient we are ready to use heavy weight solutions based on Oracle, and MS-SQL server. Fortunately, Ruby and Ruby on Rails have powerful features to make development as independent from database provider as possible, allowing you to easily switch between database engines later with minimal (if any) changes to the codebase.