オラクルが Web Scale SQL を受け入れなければならない理由
Pocket

世界で最も人気のあるオープンソース・データベースである MySQL のソースコードは、現在オラクルの所有となっている。サン・マイクロシステムズが1億ドルで購入したものを、2009年に取得したものだ。オラクルはこれで MySQL のソースコードを自社の支配下に置いた。少なくとも、オラクルはそう考えていた。

ここ5年間、MySQL のユーザーコミュニティは、本家から分岐した PerconaMariaDB などといったプロジェクトを通して影響力の強化を模索してきた。そして最近、Facebook、Google、Twitter そして LinkedIn が手を組んで、MySQL のスケーラビリティの向上を図る事を目的としたプロジェクト、Web Scale SQL が発表された。これにより、オラクルの MySQL プロジェクトにおける影響力は危機に晒されることになるかもしれない。

しかしこれは実際、インターネット企業が求めているものなのだろうか?

MySQLは既に Web スケールだ

webscalesql-oracle-mysql数年前、Facebook や Google その他のインターネット企業のエンジニア達は、MySQL をコモディティハードウェアにしていた。彼らが考えるデータセンターの経済的な面を考えると、オラクルや IBM の商用データベースでそれらを実現することはできないと考えたからだ。

オラクルや IBM の製品が、こうしたインターネット企業が必要とする規模の処理に対応できたとも考えられない。MySQLを含め、そんなことをできるデータベースはどこにもなかっただろう。しかしながら MySQL はオープンソースである事から、各企業が彼らの規模・ニーズに応じたカスタマイズを行うことができた。

そういう背景があり、また各インターネット企業間に共通したニーズもあったため、彼らは Web Scale SQL プロジェクトという形で力を合わせることになった。Facebook のエンジニア、マーク・コラガンのウェブサイトでは以前から、このプロジェクトが数ヶ月のうちに産声を上げるだろうとほのめかされていたが、とうとうその声明が出されたわけだ。

Web Scale SQL は、MySQL を様々なニーズに適合させるために、更なるスケーラビリティ、パフォーマンスの向上を図ろうとする、複数の企業のエンジニアたちによるコラボレーションである。Web Scale SQL は現在 Facebook、Google、LinkedIn、Twitter のエンジニア達の協力を得ており、ソースコードの改良についてお互いにシェアし、本家の MySQL プロジェクトにそれを還元することで、オープンソースを通じて皆がその恩恵に預かることを目的とする。このコラボレーションは現在メインの MySQL コミュニティにも拡大され、最新のリリース版に反映されていくことになる。

この最後の一行はオラクルをホッとさせるだろう。新たなストレージ処理や機能の追加のために、大本のコードを分岐させたり、独自の改変を加えるPerconaやMariaDBとは異なり、彼らインターネット企業達はMySQL本家に対してフィードバックをもたらそうというのだ。

これはプロジェクトの分岐ではない

Web Scale SQL の参加者に聞くと、彼らの狙いがオラクルを排除する事ではないのは明確だ。彼らがこれまでに MySQL のカスタマイズにかけた巨額の投資を鑑みても、各インターネット企業にとって、このオープンソース・データベースの重要性は大きい。

実のところ、Google や Twitter が MySQL に求めている機能の中には、彼らのような企業には必要だが、大多数のユーザには不要、もしくは数年は必要ないと思われるものも存在する。Web Scale SQL は、MySQL のメインプラットフォームでそういった個別の開発ニーズをプールする助けにもなる。これはオラクルにとって大きなプラスになるだろう。

これまでにオラクルの後追いをしようとした企業たちは、彼ら独自のバージョンをリリースするだけであった。しかし Web Scale SQL では、彼らのアウトプットはメインの MySQL に還元されるのだ。オラクルはそれら還元されたものについて、マージするか否かの選択ができる。こういった開発の流れが MySQL の向上にもたらすものの大きさを考えると、オラクルはこれを受け入れる事になるだろう。

ここで明確にしておきたいのは、これは分岐プロジェクトではないということだ。なぜプロジェクトを分岐させないのか? それは Pentaho のエンジニア、ローランド・ボーマンが言うように、彼らのような企業はオラクルに基盤となるバージョンを定めさせる必要があるからだ。

インターネット企業達は、オラクルの現状の開発自体についてはいいと思っていて、ただ自分たちに必要なカスタマイズがしたいという事なんだ。
Web Scale SQL の主なポイントは、開発の二度手間を省いて、お互いのアイデアを共有することにあると思う。そしてこれは単に開発というだけでなく、品質保証の面でも同じく重要な意味を持つと思う。こういうやり方は非常に効率的だし、この(Web Scale SQL に参加するような)レベルのエキスパートを雇うのは簡単な事じゃない。

オラクルはこれに応えるのか?

Google、Facebook、Twitter、LinkedIn 等に重要な影響を与え得るオープンソース・プロジェクトというのは、滅多にあるものではない。彼らはこの非常に有名なデータベースを、Googleのためだけではなく、皆にとって便利なものにしてくれる無償の労働者なのである。

これまでのところ、テストケースを破棄するなどしてコミュニティの怒りを買っていたオラクルは、MySQL にとって良い管理者とは言えなかった。しかしながらオラクルは、コードの質を大きく向上もしているのだ。話の焦点が MySQL のコードの向上にあるかぎり、オラクルが Web Scale SQL の受け入れに合意するというのは、考えるまでもない選択肢だろう。

関連記事:オラクルはみんなが思っているほど悪者ではない

トップ画像提供:Jim Winstead(Flickrより)
ロゴ提供:WebScaleSQL.org

Pocket