初公開から20年、「MySQL 5.7」が性能強化とネイティブJSON対応で得たもの:Database Watch(2016年2月版)(2/2 ページ)
2015年10月、新バージョンとなるMySQL 5.7 正式版がリリースされました。オプティマイザーのリファクタリングによる性能強化、NoSQL機能強化となるネイティブJSON対応が目立つ特徴です。
MySQL 5.7は「ネイティブJSON対応」
MySQL 5.7の機能拡張で最も目を引くのは「ネイティブJSON対応」です。これは、MySQL 5.7の最大の特徴と思います。JSON対応によって、NoSQLデータベースが不要になる……とまでは言えませんが、MySQLの可能性を広げることは確かでしょう。
以前の記事で、「“SQL標準/SQL2016”はJSONデータを直接操作できるようになるが、ネイティブのJSONデータ形式を保持できるわけではない」と説明しました。これに対し、MySQL 5.7は「ネイティブのJSONデータ型に対応」します。JSON型のデータをそのまま保存、処理できるようになります。
ネイティブのJSONデータ型で処理できると、何が良いのでしょう。オラクルのユリン氏によると、「確実に性能面で有利」とのことです。OOW15のセッションでは、インデックスを使用しない20万6000件(約200MB)のドキュメントへのトラバーサル(構造解析)をした場合、テキスト型でSELECTを実施した応答時間が12.85秒であったのに対し、ネイティブのJSONデータ型ならば1.25秒で済むとする検証結果を示し、「ネイティブJSON型ならば、テキスト型に比べて10倍以上性能が向上する」と説明しています。JSONデータを扱うなら、ネイティブのままデータを利用できるMySQLは利点の一つとなりそうです。
JSON関係では、組み込みJSON関数で効率良くドキュメントを操作するために、JSONコンパレーターで文書データをSQLクエリと統合する、「Generated Columns」でドキュメントにインデックスを作成することも可能となります。最新版のアナライザーであれば、自動的に最適なインデックスを選ぶように配慮されているそうです。
他にも、標準ストレージエンジンである「InnoDB」でリソースの使用量が削減され、透過的なページレベル圧縮も可能になるなど、ストレージ利用効率を向上させる改善が加えられています。MySQL 5.6の新機能として登場した「GTID(Global Transaction ID)」は、新バージョンの5.7ではオンラインで有効化できるようになり、レプリケーションでは複数のマスターを1台のスレーブに集約する「マルチスレーブ・レプリケーション」が可能になるなど、多方面で機能拡張が進んでいます。
(関連記事)レプリケーションで追加されたGTIDとは
MySQLの今後の進展に期待
最後におまけです。2015年はMySQLの公開から20年、日本MySQLユーザ会の設立から15年、オラクルがInnoDBを買収して10年、オラクルがサン・マイクロシステムズを買収して5年という節目の年でした。
2015年10月30日には、日本でも日本MySQLユーザ会による15周年パーティーが行われました。最新情報の共有などはもちろん、これまでの買収に伴う激動の歴史を振り返る場面などもあり、とても盛り上がりました。
オープンソースソフトウェアの世界で製品がどれだけ発展するかは、開発者が中心のユーザーコミュニティーの熱気次第という状況もあります。その点、OOW15で見た米国/グローバルでのコミュニティーも、日本のコミュニティーも、MySQLコミュニティーメンバーからは製品への愛着や結束が伝わってきました。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「Database Watch」バックナンバー
- Database Expert
- オラクル、“3倍高速”な「MySQL 5.7」一般提供開始
オラクルが「MySQL 5.7」の一般提供を開始。前バージョン比で最大3倍高速とする性能、拡張性、管理性の向上、JSONサポートによるNoSQL機能などを強化した。 - なぜリファクタリングは必要なのか?
今回からいよいよコードの話を始めます。もはやRubyの文化の一部だという主張もあるリファクタリング、テストについて、その意義や概要を紹介します - 「ドクターSQL」に聞く、次期標準「SQL2016」で注目すべき三つの新機能
RDBでデータを操作する言語が「SQL」です。その仕様は国際標準となっており、RDBの普及を強く支えています。今でも進化を続け、次期版の標準となる予定の「SQL2016」はどうなるのか。“ドクターSQL”こと日本データベース学会副会長の土田正士氏に話を聞きました。 - 信頼性とパフォーマンスを改善したMySQL 5.6をウォッチ!
2013年2月にリリースされたMySQL 5.6。主要機能や採用事例などを「Oracle MySQL Tech Tour Tokyo」でウォッチしてきた。 - オラクル、“3倍高速”な「MySQL 5.7」一般提供開始
オラクルが「MySQL 5.7」の一般提供を開始。前バージョン比で最大3倍高速とする性能、拡張性、管理性の向上、JSONサポートによるNoSQL機能などを強化した。 - MySQLの基礎を学ぼう [準備編]
- AjaxのバックエンドにPHP+MySQL
- とうとう買収されちゃったMySQLの運命やいかに
- オラクルのサン買収、MySQLコミュニティの反応は?