From my experience, attempting to support multiple backend stores leads to either crippled functionality, i.e. lowest common denominator CRUD usage, or lots of messy if/then logic to use DB specific features.
From my experience, attempting to support multiple backend stores leads to either crippled functionality, i.e. lowest common denominator CRUD usage, or lots of messy if/then logic to use DB specific features.
The approach I tend to go with is to make queries perform as good as possible on PostgreSQL without using too many PostgreSQL specific bits (which would make supporting both DBs more difficult), while making sure they still perform good enough on MySQL.
Many of our customers have large MySQL clusters running. It's very convenient to be able to just plug GitLab into that.
We have no intention in dropping it in the near future. For instance, our Pivotal Cloud Foundry (PCF) tile makes use of the MySQL cluster in PCF [0].
For those reasons, we'll continue to support MySQL and make sure it's performant.