MySQL 5.6正式版が公開。オプティマイザやInnoDBの向上でさらに高速。クラッシュセーフなレプリケーションなど
米オラクルは、MySQL 5.6の正式版が公開されたことを発表しました。MySQLはオープンソースのデータベースで、無料で利用可能なMySQL Community Server 5.6.10も公開されています。
MySQL 5.6のおもな新機能はプレスリリースやドキュメント「What's New in MySQL 5.6」で紹介されています。本記事ではこれらと、オープンソースカンファレンス 2012 Tokyoで公開された日本オラクル 山崎由章氏の資料「圧倒的な進化を続けるMySQLの最新機能」(PDF)の一部を引用しつつ主な機能を紹介します。
オプティマイザ、InnoDB、レプリケーション
MySQL 5.6では、SQLを解析して実行するオプティマイザの改善と、データベースエンジンとなるInnoDBの改善などによって性能やスケーラビリティの向上を果たすとともに、レプリケーションの改善による可用性の向上などが大きなポイントとなっています。
オプティマイザの改善では、上位何番目までを取得するといったLIMIT付きのソートが最適化され、サブクエリの実行、FROM句のサブクエリでの実行も改善されたことなどによる高速化が実現されています。

InnoDBでは統計情報の改善による性能改善、ミューテックスをより緻密に行うことでトランザクションなどの並列性を高めることなどで、データベースエンジンの性能も向上しています。
以下のグラフでは、MySQL 5.5と昨年10月に公開されたMySQL 5.6アーリーアクセス版との比較が行われています。

レプリケーションでは、変更された列のみをレプリケーションすることでデータ転送を最小化し、またスレーブをマルチスレッド化することなどでレプリケーションの性能を向上。
データの整合性の面では、デフォルトのInnoDBを利用した場合にレプリケーション実行中にデータベースが落ちたとしてもデータ同期の不整合が起こらない、クラッシュセーフなスレーブを実現しています。スレーブへのレプリケーションを意図的に遅らせる遅延レプリケーションも可能になり、マスター側で何らかのミスをした場合のリカバリが可能になります。
また、ユーティリティを使うことで自己修復可能なレプリケーションおよび自動化されたフェイルオーバーとリカバリも実現します。

あわせて読みたい
IBM、「x86サーバに匹敵する価格競争力がある」POWER7+サーバを発表。多数のx86サーバをPowerサーバで集約
≪前の記事
Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立