These are impossible questions to answer. The only viable answer is
The types of questions you should be asking yourself are:
What are my storage requirements?
- How many tables will there be?
- How many records in each table?
- Do I need to be fully ACID compliant?
- Do I need full transaction support?
- Do I care about foreign key constraint support?
What are the requirements of my business?
- Am I willing to pay for a commercial database?
- Are there any constrains on using open source software in my
- What is my budgetary requirements in choosing a database?
What options are available from my hosting service?
If you have already chosen a hosting service for your application, and
that hosting service offers MySQL only, for example, then the answer
to your original question has already been chosen for you. The best
database adaptor in that scenario would obviously be the MySQL
I think you get my point. It matters very little about the adaptor,
unless it's completely broken. What matters is choosing the database
that fit your particular needs.
In most cases I choose to use SQLite for my development and test
databases. This reduces the time spend setting up and configuring my
database during the development stage to zero. I then normally choose
MySQL for my production database. At the place I work they use Oracle
for nearly everything so there is no choice to be made in that
situation. The production database must be Oracle due to purely
business constraints. Now it's pretty obvious that I wouldn't choose
Oracle for my own personal projects due to the cost of Oracle and it
would be overkill in most situations anyway.
What I think is really important is to make every effort to design
your Rails application to be database agnostic. That way you are
completely free to choose whatever database makes the most sense for
your deployment needs.