Over the years, OpenStack’s ecosystem and developer community grew
around MySQL (as defined in [2]). Emerging from the OpenStack
User Survey 2017 [1] there is a trend visible that most production
deployments today settle on MySQL as the configured database backend.

Although the OpenStack User Survey is non-authoritative, its reported
bias (> 10 to 1 for MySQL [2] vs. PostgreSQL [3]) is also
mirrored in openstack-operator mailing list posts, ask.openstack.org
posts, and content during operator meetups. In contrast, production
deployments using PostgreSQL appear to be less popular ([4]).

The OpenStack community is generally offering wide ranges of options
to the users. For DBMS we advocate the use of abstraction layers
like for example oslo.db and SQLAlchemy to avoid a lock-in on a
specific database implementation.

Still the development community could design and develop individual
features with specific backends in mind. Even if portability issues
are caught during code review and various levels of automated QA,
there is still impact on the community like documentation and other
cost of handling peculiarities of each DBMS like best practices
for each implementation choice.

Therefore, we should clearly state that currently in the OpenStack
community there is a bias towards MySQL [2] over other
databases like for example PostgreSQL.

As a set of concrete steps we should do the following:

The OpenStack documentation should be updated to document the
community preference:

We should state to the OpenStack Foundation that there needs
to be a way for distributors to report back aggregate data about
their users, who are not self reporting to the survey. The upstream
community does not have infinite resources, and is legitimately
trying to make hard and informed decisions about things not to do.
Because there is no mandatory registration of clouds, the best
information we can get is via the User Survey and what vendors
decide to share.

In the future we may want to make stronger statements, but the
important thing is being clear to users that PostgreSQL is currently
not first class supported upstream and there isn’t any
coordinated effort to change that.

This should not exclude vendors claiming support for other DBMS choices
for their customers. However, for users bypassing vendors and
going straight to upstream, the current reality of OpenStack
enablement needs to be clear.