9月18~22日、米国サンフランシスコで「Oracle OpenWorld 2016(OOW16)」が開催されました。このイベントでのオープンソースデータベース「MySQL」に関するトピックをご紹介いたします。
Oracle OpenWorldでは、2010年のオラクルによるサン・マイクロシステムズ買収以来、毎年数多くのMySQL関連のセッションやチュートリアが用意されており、2016年は40近いMySQL関連セッションが行われました。OOW16は“The Ultimate Cloud Experience“をテーマとして、クラウドテクノロジを中心に構成されていましたが、MySQLも例外ではなく、イベント直前にMySQLデータベースサービスとして「Oracle MySQL Cloud Service」が発表されました。
「Oracle OpenWorld 2016」の会場の様子
Oracle MySQL Cloud Service以外にも、MySQLサーバの次期メジャーバージョンである「MySQL 8.0」や、マルチマスター型レプリケーションソリューションとしての「MySQL InnoDB Cluster」など新しい製品の発表もあり、各技術セッションでは開発エンジニアから新機能やアーキテクチャなどの解説が行われました。
基調講演ではケンタッキーダービーのMySQL事例も紹介
OOW16でのMySQL関連のセッションは、Yerba Buena Center for the Arts(iPodやiPhoneの発表などで利用される会場です)を舞台に、オラクル MySQL部門の総責任者であるSVP & GM MySQL GBUのRich Masonの基調講演から始まりました。ここではユーザー事例として、インドの10億人以上のIDを管理するAADHAAR、欧州の複数の証券取引所を統合的に運営するEuronextの金融商品の清算・決済のプラットフォームを筆頭に、MySQLの利用動向が紹介されました。
Oracle SVP & GM MySQL GBUのRich Masonによる基調講演
続いてMySQL製品開発チームの責任者Tomas Ulinより、MySQLサーバの次期メジャーバージョンであるMySQL 8.0をはじめとする複数の重要な製品アップデートについて報告がありました。宿泊施設オンライン予約サイトのBooking.comにおける数千台のMySQLサーバの運用自動化の事例紹介がこの後に続きました。
基調講演の最後の枠は、米国の競馬で最高峰のレースとされるケンタッキーダービーの運営企業であるChurchill Downsが登壇しました。ケンタッキーダービー当日にはレース前後にトランザクションのピークがあり、参照が秒間6億件、更新が秒間6000万件と平常時の100倍以上の処理を、MySQLを利用したプラットフォームで行っているとのことでした。
OOW16を通してMySQLのユーザーによる注目セッションとしては、中国最大のEコマースサイト アリババにおけるレプリケーション機能の改善、宿泊施設マッチングサービスのAirbnbや配車サービスのUberといった新しい形のビジネスでのMySQL活用方法の紹介、オンラインストレージサービスDropboxにおけるレプリケーション機能の利用事例がありました。
Booking.comによる事例紹介
Oracle MySQL Cloud Service発表
Oracle MySQL Cloud Serviceは、Oracle Public CloudのDBaaS(Database as a Service)の1つです。MySQL Enterprise Editionをベースとし、オンプレミスとクラウドで同じソフトウェアが利用できます。MySQL Enterprise Editionに含まれるセキュリティ機能もすべて利用可能になっているため、企業における重要データの格納先としての活用が期待されます。
Oracle MySQL Cloud Serviceの 紹介ページ
Oracle MySQL Cloud Serviceでは、MySQLサーバが稼働するサーバへのSSHでのアクセスができるようになっており、設定ファイルの変更、MySQL Enterprise Backupによるバックアップファイルの取得、GUIツールのMySQL WorkbenchからのSSH経由での利用が可能です。Oracle MySQL Cloud ServiceのMySQLインスタンスとオンプレミス環境のMySQLサーバとの間でのレプリケーション構成も可能で、物理バックアップファイルへのアクセスと併せて、クラウドとオンプレミスの相互の移行やハイブリッド型の構成が簡単に利用できる点が大きなメリットです。
次期メジャーバージョンMySQL 8.0
MySQL 8.0は、MySQL 5.7での改良からさらに多数の機能追加と改善を行ったバージョンとなり、OOW16の開催前週に最初のDMR(開発途上版)がリリースされました。
MySQL 8.0の最大の特徴は、データディクショナリを実装した点にあります。現在のMySQL 5.7まではユーザーアカウント管理や権限管理のテーブルはMyISAMストレージエンジンを利用していましたが、MySQL 8.0ではInnoDBストレージエンジンに変更となりました。フラットファイルで管理されていたテーブル定義、トリガーの定義などのメタデータも、InnoDBストレージエンジンを利用したデータディクショナリに統合されます。さらに、メタデータを参照するInformation Schemaもデータディクショナリに対するビューの位置づけとなりました。これにより、参照時にフラットファイルへのアクセスの内容を一時表へロードするなどの内部処理が無くなり大幅な性能向上が実現できます。
MySQL 8.0ではこれ以外にも、デフォルトの文字コードをUTF-8(utf8mb4)に変更したほか、ロール、動的に変更した設定パラメータの永続化、パフォーマンススキーマへのエラーサマリーテーブルやインデックスなど多くの機能が追加されています。また、Invisible Indexなどのオプティマイザー関連の新機能や共通テーブル式がLabs版(実験室版)パッケージとしてリリースされており、将来的にMySQL 8.0への統合が検討されています。 MySQL 8.0での変更点については以下のブログのMySQL 8.0関連記事もあわせてご覧ください。
マルチマスター型レプリケーションMySQL InnoDB Cluster
MySQL 5.7のリリースよりも前から開発されてきたマルチマスター型レプリケーション「MySQL Group Replication」に、今回、クライアントからの接続をルーティングする「MySQL Router」と、レプリケーション構成を管理するためのAPIが追加され、これらの新機能とクライアントシェルプログラム「MySQL X Shell」をまとめたソリューションが「MySQL InnoDB Cluster」の名称で登場、Labs版がリリースされました。
MySQL InnoDB Cluster
MySQLコミュニティやユーザーとの交流
OOW16期間中には、MySQL開発チームと、MySQLコミュニティのメンバーやユーザーが集まる機会がいろいろと設けられていました。特にスポーツバーを借り切ったMySQLコミュニティのパーティー「MySQL Community Reception」や、MySQLの各開発チームのリーダーが集結した「Birds of Feather」には、シリコンバレーや日本、中国の代表的なウェブサービス企業、モバイルサービス企業のエンジニアが参加しており、さらに元MySQLのメンバーも交えて新機能追加や機能改善についてあちこちで激論が交わされました。
MySQL開発チームにとっても利用者の声を直接聞いて開発にフィードバックできる重要な機会であり、セッションの間の休憩時間を含めて、あちこちでPCを広げてコードをいじりながら議論するという光景を目にしました。
Birds of Featherの会場の様子
MySQLの今後の展望
MySQL 5.7のリリースからまだ1年弱ということでMySQL 8.0の製品版リリースは少し先になりそうですが、技術セッションの中では、質疑の中でスライドに記載されていない機能についても「開発中」との言及が多数ありました。またMySQL Group Replicationに関しては、スライドでRC(リリース候補版)と表示されていたほか、開発中のドキュメントデータベース機能「MySQL Document Store」についてもクライアントライブラリのアップデートが近く行われる可能性があります。オラクルのMySQLチームでは日本でのイベントやブログ、ツイッターアカウント@mysql_jpなど通じて引き続き情報を発信していきますので、ぜひ注目していただければと思います。
イベント終了後、徐々に撤収作業の進むMoscone Center
- 梶山隆輔 (かじやまりゅうすけ)
- 日本オラクル株式会社 MySQL Global Business Unit Asia Pacific & Japan担当 MySQL Sales Consulting Senior Manager MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域マネージャー。多国籍なMySQL部門にて、台湾、オーストラリア、インドに在籍するチームメンバーを束ね、アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。