Why PostgreSQL for Chef11?


#1

Hello members,

Do you have any idea why Chef 11 choose PostgreSQL as db solution? Why MySQL was out?
I dont’ have any prejudice on any db. Just curious on why X but not Y.

Regards,

Tetsu


#2

My understanding is that we found performance roughly equal before any tuning and initially the plan was to maintain compatibility with both Postgres and MySQL. We were planning on shipping Private Chef with MySQL, but licensing made Postgres a much more attractive option. Rather than continue the effort to support two databases going forward, the decision was made to focus on optimizing for performance on Postgres.

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.
matt@opscode.com | (512) 731-2218
Twitter, IRC, GitHub: mattray


From: Tetsu Soh [tetsu.soh@gmail.com]
Sent: Wednesday, February 13, 2013 6:59 AM
To: chef@lists.opscode.com
Subject: [chef] Why PostgreSQL for Chef11?

Hello members,

Do you have any idea why Chef 11 choose PostgreSQL as db solution? Why MySQL was out?
I dont’ have any prejudice on any db. Just curious on why X but not Y.

Regards,

Tetsu


#3

Hi everyone, I’m one of the devs for Opscode, if you don’t know me.

What Matt said is correct. Due to licensing issues, we could not ship
mysql with Chef like we wanted to. We could ship code, but there always
would have to be a manual step for linking Chef to the db. If we didn’t
do this, the mysql license would require that we make all code open,
even the code in Private Chef. Clearly there are bits in Private Chef
that we don’t want to give away. At least not yet anyway.

That said, we initially resolved this by making Chef work with mysql but
not shipping mysql enabled. However, the longer we went down this path
the more of a burden it became. We were seeing very little adoption of
mysql with most people just going with the Postgres support that ships
out of the box. In addition, we were having to maintain code and queries
for both databases. We continually found Postgres the easier db to write
against. This might be internal team preference and experience, but this
coupled with the lack of mysql adoption we were seeing made us confident
in dropping mysql support.

In our determination the time we saved in not supporting mysql would
enable us to move faster on feature and performance improvements in
other areas, with very minimal impact to the community.

Hopefully that answers your question well enough.

Thanks,

Mark Mzyk

Matt Ray mailto:matt@opscode.com
February 13, 2013 9:49 AM
My understanding is that we found performance roughly equal before any
tuning and initially the plan was to maintain compatibility with both
Postgres and MySQL. We were planning on shipping Private Chef with
MySQL, but licensing made Postgres a much more attractive option.
Rather than continue the effort to support two databases going
forward, the decision was made to focus on optimizing for performance
on Postgres.

Thanks,
Matt Ray
Senior Technical Evangelist | Opscode Inc.
matt@opscode.com | (512) 731-2218
Twitter, IRC, GitHub: mattray


From: Tetsu Soh [tetsu.soh@gmail.com]
Sent: Wednesday, February 13, 2013 6:59 AM
To: chef@lists.opscode.com
Subject: [chef] Why PostgreSQL for Chef11?

Hello members,

Do you have any idea why Chef 11 choose PostgreSQL as db solution? Why
MySQL was out?
I dont’ have any prejudice on any db. Just curious on why X but not Y.

Regards,

Tetsu

Tetsu Soh mailto:tetsu.soh@gmail.com
February 13, 2013 7:59 AM
Hello members,

Do you have any idea why Chef 11 choose PostgreSQL as db solution? Why
MySQL was out?
I dont’ have any prejudice on any db. Just curious on why X but not Y.

Regards,

Tetsu