今一度 MySQL forked なプロダクト群についておさらい

MySQL を使っている企業やディストリビューションが続々と MariaDB に鞍替えすることでにわかに活気だってきた MySQL forked なプロダクト達。
今回はそれらを 3 行でまとめてみる。

MySQL

  • 言うまでもないけど本家
  • 現在は Oracle が開発を主導(および権利を保有)しているが、プロプライエタリになったりすることはなく、いまも OSS として開発されている
  • 特にこれと言って言うことはないが、なんだかんだで安心感はある

Percona Server

  • もともと MySQL の専門コンサルだった企業が「俺らが作ればいいんじゃね?」ということで作り始めたプロダクト*1。ちなみに InnoDB を fork した XtraDB の開発元もここ。
  • MySQL との完全互換性を謳っており、既存のコードを置き換えること無く移行可能。僕も前職で MySQL から移行してみましたが全くなにもしませんでした。設定ファイルすら変更しなくてもいいくらいの勢い。
  • 後述の forked プロダクトと違って MySQL の後継というよりは MySQL よりちょっと速い互換製品とも言えなくはない。とりあえず試してみたいならオススメ。

MariaDB

  • MySQL AB の創業者が立ち上げたプロダクト。Percona とほぼ同様、互換性を維持しているので、移行の際に SQL を書き換えたりする必要はなさそう。
  • 開発思想的には、MySQL の forked というよりは作りなおしたプロダクトを元に MySQL に新たに実装されていく機能から「これはユーザー的に欲しいよね」っていう機能を取捨選択して実装していく、みたいな姿勢が伺える。実際、コアなコードは(オリジナルなものから)かなり置き換えが進んでいる模様。
  • 最新バージョンは 10.0(本家の 5.6 の機能にそこそこ追従)。あ、そうそう、Percona と MariaDB は handlersocket を標準搭載しているよ!

Drizzle

  • MySQL forked ではあるんだけど、開発元自身が「もう今は MySQL とは別モンだよ」って言ってるのであんまり互換性には期待しないほうがいいと思われる。
  • じゃあ誰が使うかって言うと、主に高可用性に的を絞って開発されているらしいので、数万 qps とかが絶え間なく来るようなリクエストにも耐えられるような DB サーバーが欲しい!とかそういう場合に使うべき、らしい。
  • ぶっちゃけ普通の用途にはピーキー過ぎて使いづらそうな予感。正直良くわかんない。

*1:だいたい想像