MySQLの次期バージョンはMemcached APIを備える! MySQL Conference & Expo 2011基調講演
今年も米サンタクララで4月11日から13日にかけてMySQLのイベント「MySQL Conference & Expo 2011」が開催されました。
MySQLはオープンソースのデータベースとして最も人気のあるデータベースですが、オラクルが買収したことによって先行きが心配され、またMariaDBやDrizzleといったフォークも頭角を現してきています。しかし、この基調講演で明らかにされた次期バージョンMySQL 5.6とMySQL Cluster 7.2は、そうした懸念を吹き飛ばすほど強力な性能向上と新機能が予定されていました。現地時間4月12日に行われた基調講演「State of the Dolphin」の内容を、公開されているビデオから紹介しましょう。
オラクルはMySQLにコミットし続ける
オラクルのエンジニアリング部門から、Tomas Ulin氏。
オラクルでのMySQLの進捗について紹介したい。
オラクルがサン・マイクロシステムズを買収して1年。この1年は、過去のどの1年よりも多くのプロダクトをリリースしてきた。フリーでオープンなMySQLに今後もコミットし続ける。
昨年リリースしたMySQL 5.5はこれまででもっとも高品質で、ACIDトランザクションやフォーリンキー、クラッシュリカバリーなどを備えるInnoDBをデフォルトのストレージエンジンにし、性能向上を果たした。
オラクルの中でMySQLとInnoDBの開発チームは1つのチームとなり、さらに改善を進めている。
MySQL 5.6ではNoSQL機能を搭載へ
そして今週、MySQL 5.6の最初のデベロップメンマイルストーン(Dev Milestone)をリリースした。 デベロップメントマイルストーンは、まだQA(品質検証)は残っているが、機能としては安定しているリリースだ。
性能向上、スケーラビリティ、モニタリング、オプティマイズベースの性能向上などを実現し、クエリでの明示的なパーティションの選択やパーティションテーブルへのインポート、エクスポートなどを備える。
InnoDBの改善も行い、さらなる性能向上も行った。
さらにMySQL 5.6で実現しようとしているのは、現在まだラボで開発中のものだが、SQLではない方法でinnoDBストレージエンジンへアクセスする手段の提供だ。MemcachedのプロトコルでNoSQLとしてアクセスできるようになる。フレキシビリティだけでなく、さらなる高性能、高スケーラビリティも実現できるだろう。Memcachedプラグインとして提供する。
SQLとNoSQLのインターフェイスは並列に提供されるため、いつでもどちらからでもアクセスできるようになる。
さらにラボではパラレルセッションを使うマルチスレッドSlave、性能に関するさまざまな情報を格納するPerformance_schemaの強化なども行っている。
MySQL 7.2ではジョインが高速に
もう1つ大きなバージョンアップの発表は、MySQL Cluster 7.2の登場だ。これもデベロップメントマイルストーンをリリースする。
MySQL Cluster 7.2では、クエリのジョイン性能が20倍早くなった。さらにスキーマの柔軟性を増し、512カラムまでサポート。データコンソリデーション、ストアードプロシージャやGrantなどの設定を中央管理することもできるようになった。
MySQL Cluster 7.2でもMemcached APIをサポートするようになる。ここでキャッシュを統一的に管理できる。
またオラクルでは、Oracle VMにMySQLを組み込みすぐに利用できる「Oracle VM Template for MySQL」をリリースする予定だ。
Windows版の優先度を上げる
これまでMySQLはWindowsの優先度は高くなかった。しかし、これからは優先度をあげていく。性能やスケーラビリティだけでなく、インストーラを改善し、Visual Studioやフレームワークなどのエコシステムとの連係も強めていく。
MySQL 5.6およびMySQL Cluster 7.2の新機能についてはブログ漢(おとこ)のコンピュータ道のエントリ「MySQL 5.6登場!!新機能速攻レビュー」と「MySQL Cluster 7.2見参!Webでも使える熱いヤツがやってきた。」に技術的な解説が詳しくされているので、合わせて参照してみてください。
関連記事
あわせて読みたい
オラクルのMySQL戦略を予想する。オンラインサービスのバックエンドとして強化されるMySQL
≪前の記事
PR:サーバ統合とSSD採用で表面化する、データベースの新たなボトルネック。Oracleでいかに解決するか