OSSデータベース取り取り時報

第26回 MySQL 8.0 RC版リリース,PostgreSQL10.0リリース間近,RC1版リリース

この記事を読むのに必要な時間:およそ 3 分

MySQLは次期メジャーバージョンのリリース候補版となるMySQL 8.0.3 RCがリリースされました。PostgreSQLは次期メジャーリリースであるPostgreSQL10に向けたRC1版がリリースされました。

[MySQL]2017年9月の主な出来事

9月の最も重要なリリースは,MySQLサーバーの次期メジャーバージョンMySQL 8.0のリリース候補版(RC/Release Candidate)となるMySQL 8.0.3 RCです。2016年9月のMySQL 8.0.0から1年かけてリリース候補版にたどり着きました。MySQL 8.0.0は連載第14回8.0.1は第21回にてご紹介しています。

Apache Struts 2の脆弱性に起因する問題に対応するため,商用版のMySQL Enterprise Editionに含まれる監視ツールのMySQL Enterprise Monitor 3.4.33.3.53.2.9の各マイナーバージョンがリリースされました。本件についてはOracle Security Alert Advisory - CVE-2017-9805をあわせてご確認ください。

MySQL 8.0.3 RCの主な新機能と変更点

MySQL 8.0.3 RCでは機能追加とともに,これまでのMySQLサーバーをお使いの方とって影響のあるデフォルト値の変更や機能の廃止がいくつか行われています。以下はMySQL 8.0.3 RCでの主な新機能と変更点になります。また主な項目はMySQLサーバー開発チームのブログでも紹介されているほか,詳細はリリースノートでご確認いただけます。

パフォーマンス/オプティマイザ
  • 環境に応じたInnoDB関連パラメータの自動設定(デフォルトではOFF)
  • クエリキャッシュの廃止
  • オプティマイザによるヒストグラムの利用サポート
  • ヒント句にてセッションごとのシステム変数を一時的変更可能に
  • スレッドとCPUのマッピングを行うリソースグループ機能の追加
ドキュメントストア/JSONデータ型
  • JSONドキュメントの部分更新(BLOGデータ改良の成果)
  • VIRTUAL生成列でのSpatial(空間図形)インデックスおよび全文検索インデックスサポート
  • Xプロトコルでの"Expectation"サポート
  • find()関数にてロックのサポート(SELECT ... LOCK IN SHARE MODEやFOR UPDATEに該当)
InnoDB/データディクショナリ
  • InnoDBのSpatial(空間図形)インデックスにおけるSRIDのサポート
  • innodb_max_dirty_pages_pctおよびinnodb_max_dirty_pages_pct_lwmのデフォルト値変更
  • InnoDBのシステムテーブルのデータを廃止しデータディクショナリに統合
レプリケーション
  • バイナリログがデフォルトでONに
  • master.infoおよびrelay-log.infoの各ファイルの利用を非推奨
  • 行ベースレプリケーションでのJSONドキュメントの部分更新対応
  • デフォルトでスレーブのバイナリログに変更点を記録(log-slave-updatesがデフォルトで有効)
その他
  • ENCODE(), DECODE(), ENCRYPT(), DES_ENCRYPT(), DES_DECRYPT()の各関数廃止
  • パスワードの履歴を保持し,パスワードポリシーを強化

MySQL 8.0.2 DMRの主な新機能と変更点

また本連載において7月にリリースされたMySQL 8.0.2の主な新機能と変更点をご紹介しておりませんでしたので,下記に列挙しておきます。

パフォーマンス/オプティマイザ
  • ヒストグラムでのカラム統計情報管理(MySQL 8.0.2のオプティマイザは情報を利用しない)
  • Linux環境でのNUMAサポート
  • Window関数のサポート
InnoDB/データディクショナリ
  • データディクショナリを単一の表領域(ファイル名mysql.ibd)に集約
  • InnoDBのシステムテーブルをデータディクショナリに移管
  • UNDO表領域の数を再起動無しで変更可能に
レプリケーション
  • MySQL 5.0以前のバイナリログの形式を非サポートに
  • リレーログの書き込み時にディスクの空き容量待ちになっても他の処理を止めない
  • master_info_repositoryおよびrelay_log_info_repositoryのデフォルト値がTABLEに
  • expire_logs_daysのデフォルト値が30日に
  • マスター昇格の選定優先度を設定するgroup_replication_member_weight追加
セキュリティ
その他
  • utf8mb4_0900_as_ciおよびutf8mb4_ja_0900_as_cs_ks追加
  • MySQLクライアントのデフォルトのキャラクタ・セットをutf8mb4に変更
  • SET PERSIST_ONLY追加
  • basedirが指定されていない場合mysqldからみた親ディレクトリをbasedirに利用
  • --log-errorが指定されていない場合にコンソールのみにエラーログが出力されていた環境でもログファイルに出力するように変更
  • JSON関数でXPathサポート
  • MySQLサーバー内部で作成される一時表が使うストレージエンジンがMEMORYからTempTableに変更
  • エラーログをJSON形式で出力可能に

リリース候補版となりMySQL 8.0の機能の大枠は固まってきました。ぜひお試しいただき,バグ報告や追加の機能要望をバグデータベースよりご連絡いただければと思います。

著者プロフィール

山本文彦(やまもとふみひこ)

TIS株式会社

アプリ兼インフラエンジニアとしてさまざまなECサイトの開発現場を担当後,現在はOSSサポートサービスにおいて技術コンサルティングや保守サポートに従事。PostgreSQLだけでなく,MySQL, OracleなどのRDB,Amazon DynamoDBといったNoSQLなどさまざまなDB製品の利用経験を活かして,OSS製品の普及活動に力を注いでいる。


梶山隆輔

MySQL Sales Consulting Senior Manager。

日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。

コメント

コメントの記入