商用データベースから、OSSデータベース「MySQL」か「PostgreSQL」に切り替える企業が増えています。「MySQL」か「PostgreSQL」のどちらがよいのか。両者はエコシステムの観点でうまくバランスが取れているようです。今回はあらためて、両者の違いとそのエコシステムを支えているパートナー企業を確認しましょう。
IT業界には「スーツ」と「ギーク」がいると言われています。
「スーツ」は、スーツをピシッと着て経営に絡めて技術を語りそうな人、「ギーク」はTシャツやパーカーで新技術の細部まで知り尽くしていそうな人。データベースソフトウェア周辺ならば、商用データベースが「スーツ」で、オープンソース系が「ギーク」に分類されそうです。しかし昨今はそうでもないような気がします。
今回は意外と「スーツ」と「ギーク」が混在しているOSS(オープンソースソフトウェア)データベースについて、両者の違いや周辺で支える企業をあらためて確認してみましょう。
2017年現在、「MySQL」と「PostgreSQL」はOSSデータベースの二大巨頭とされています。両者それぞれに長い歴史があり、技術者コミュニティーにも支持されています。当然、2017年現在も両者は発展し続けています。
MySQLには、MySQL ABが発足した1995年から数えて20年以上の歴史があります。個人的には、2006年にスウェーデン大使館で開催されたMySQL紹介セミナーが強く印象に残っています。IT商材の取材で大使館に入れるなんてめったにないこと。なぜスウェーデン大使館かというと、MySQL ABがスウェーデンにある企業だったからです。
あれから約10年。MySQLは幾つかの買収を経て、今では米オラクルが支えています。しかしオラクル以外にも、MySQLと関係が深い製品や企業は数多くあります。
まずは米ペルコナ(Percona)を挙げましょう。ペルコナは2006年設立、企業がMySQLやMongoDBなどのOSSデータベースを使うための支援を行う企業です。「Percona Server for MySQL」や「Percona XtraDB Cluster」などの同社が独自に機能を強化したMySQL互換製品の他、エンタープライズクラスのサポートやコンサルティングサービスを提供しています。
ペルコナは何よりも、基幹業務をはじめとする“企業システムでの利用”を想定した性能強化ソリューションを提供するのが強みです。例えば、Yahoo! JAPANもペルコナ製品のユーザーです(*1)。
*1 (参考リンク)Perconaサーバーの導入で(スマートスタイル)
ペルコナには2017年現在、日本法人はありません。しかし、スマートスタイルなどのパートナー企業が日本顧客向けの対応を行っています。また、かつてMySQLのストレージエンジンである「InnoDB」の性能改善で日本OSS奨励賞を受賞した木下靖文氏がペルコナに在籍していたこともありました。日本法人がないためか日本での知名度はあまり高くはありませんが、MySQLの周辺を支えている企業の1つといえます。
次は米MariaDBです。MySQL派生のOSSデータベース「MariaDB」は、オラクルによるSun買収を機にMySQLから分岐(フォーク)したという歴史があります。2017年現在は、MySQLから独立した存在ではありつつも、MySQLとの互換性を維持することをポリシーに掲げています。分岐したとはいえ、MySQLの開発者であるマイケル・“モンティ”・ウィデニウス(Michael "Monty" Widenius)氏らが創設したので、MySQL本流としての魂は込められているといってもいいでしょう。MySQLのよさや自由度を「オープンソースの世界で生かし続けたい」という願いに支えられています。
MariaDBは、対応ストレージエンジンが幅広いことに加えて、ウィンドウ関数を増やすなどMySQLにはない独自の機能開発を進めています。MySQLを使い慣れたユーザーが、MariaDB独自の機能を目当てにデータベースを移行するケースも多いと聞きます。MySQL経験者ならば、MariaDBに切り替えても大抵は使いこなせます。そんなエンジニアの多くは、MySQLもMariaDBも両方使いこなしているそうです。
MariaDBの代表的な導入事例には、世界規模で展開するホテル予約サービス「Booking.com」があります。参考までに、OpenStack環境で使われるデータベースソフトウェアを見ると、MySQL、MariaDB、MongoDBが上位に並ぶ(*2)ことからも、オープンソースの世界ではMariaDBの人気は根強いといえます。
スパイラルアームは、データベースのパフォーマンスチューニングと、MySQLやMariaDBに対応するストレージエンジン「Spider」の開発を行う企業です。MariaDBとはテクノロジーパートナーとして連携しており、MariaDBにはSpiderが標準でバンドルされています。同社代表の斯波健徳氏は、Spiderや日本語全文検索用のストレージエンジン「mroonga」の開発で日本OSS奨励賞を受賞したエキスパートで、2016年はペルコナやMariaDBのイベントに登壇するなど表舞台でも活躍しています。
Spiderの特徴は「スケールアウト」です。2008年ごろ、大規模Webサイトにおける高負荷対策が大きな課題として挙がりました。当時、データベースに掛かる負荷の分散をアプリケーション側で作り込んで吸収する「アプリケーションパーティショニング」と呼ばれる方法が注目されましたが、それにはデータベースの標準機能が一部使えなくなることが課題でした。また、スケールを考慮する分、アプリケーション開発者の負荷も高まってしまいます。そこで斯波氏は、「負荷分散はアプリケーション開発者が努力するのではなく、データベース側で解決すべきだ」と提言。スケールアウトができるMySQLストレージエンジンとして、Spiderが開発されました。
2017年2月現在、Spiderは日本だけではなく、インスタントメッセージアプリ「WeChat」などを展開する中国のモバイルサービス企業 テンセント(Tencent)でも使われています。Spiderはオープンソースなので、それぞれカスタマイズされた後に導入され、また、改良されたソースコードが逆に本体のSpiderに加えられるなど、OSSらしい発展をしています。
Amazon Auroraは、簡単に言うとAWS(Amazon Web Services)版のMySQLです。AWS上で稼働させる「クラウドネイティブ」な性能を備えることを前提に、RDBを根本から設計し直して開発されました。
なおAmazon Auroraは、AWSに適したストレージエンジンというレベルではなく、データベースのエンジンそのものも改良されています。それでいてMySQL互換です。ちなみに、2016年12月にはPostgreSQL互換版もリリースされました。
Copyright © ITmedia, Inc. All Rights Reserved.