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

第36回 MySQL 8.0へのバージョンアップ方法,PostgreSQL 11ベータ2リリース,MongoDB 4.0 リリース

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

MySQLのMySQL8.0のバージョンアップ方法が話題となっています。PostgreSQLは次期メジャーリリースPostgreSQL 11に向けたベータ2がリリースされました。MongoDBは複数ドキュメントでのACIDトランザクションなどが強化されました。

[MySQL]2018年7月の主な出来事

2018年7月はMySQL製品のリリースはありませんでした。一方で,4月に発表したContinuous Delivery Modelに合わせたマイナーバージョンでの機能追加を含めた開発が続いています。MySQLのバグデータベースでは,すでに8.0.13で修正や機能追加予定というMySQL開発チームのコメントが付いているバグレポートもいくつか見られます。

あわせてMySQL開発チームやコミュニティチームのブログでは,活発に情報発信が行われています。たとえば,7月7日には今後のマイナーバージョンにて改良される予定のTempTableストレージエンジンのBLOB対応強化について,MySQLサーバー開発チームのブログにて解説されています。

TempTableストレージエンジンは,MySQL 8.0から追加されたMySQLサーバー内部での一時表に利用されるストレージエンジンです。MySQL 5.7までは,インメモリのMEMORYストレージエンジンがデフォルトで利用されていましたが,MySQL 8.0からはメモリとディスクをシームレスに利用するTempTableストレージエンジンに変更されています。MySQLサポートエンジニアの奥野さんのブログでも,TempTableストレージエンジンについて解説されています。

MySQL 8.0へのバージョンアップについて

2018年7月に開催した「MySQL at Facebook & MySQLテクノロジーアップデートセミナー」にて,日本オラクルのMySQLセールスコンサルタント 山崎さんによる「MySQL 8.0へのアップグレードのポイントとパラメタ比較」と題した講演が行われ,資料が公開されています。

MySQLサーバー開発チームのブログでも,6月8日にバイナリログの入れ替えでバージョンアップを行う手順を示した"INPLACE upgrade from MySQL 5.7 to MySQL 8.0"という記事や,さらにバージョンアップ時の注意点をまとめた"Upgrading to MySQL 8.0? Here is what you need to know…"という記事を公開しています。前者に関しては,人力翻訳コミュニティ Yakstにてkakuka4430さんが翻訳されています。

MySQL 5.7からのバージョンアップの手順の概略としては,以下の通りとなります。

  1. MySQL ShellからMySQL 5.7に接続し,Upgrade Checkerを実行する
  2. MySQLサーバーのバイナリをMySQL 8.0に入れ替え起動する
  3. mysql_upgradeユーティリティを実行し,メタデータをMySQL 8.0に対応させる

主な事前準備としては

  • バージョンアップ実行前にバックアップを取得する
  • 新しい予約語やMySQL 8.0のデータディクショナリのテーブル名との重複確認
  • MySQL 8.0で廃止された古いTIME型やTIMESTAMP型などの変更
  • MySQL 8.0で廃止されたPARTITIONストレージエンジンを利用したパーティショニングの変更

なお,MySQL 5.6以前のPARTITIONストレージエンジンやその廃止については,@rdbmsさんのブログ@yoku0825さんのブログで解説されているので,あわせてご参照ください。

これ以外にも,MySQLサーバー開発チームのブログでは,GIS(空間図形情報)についても「MySQL 5.7と8.0の間で互換性のない関数の検出について」"Detecting Incompatible Use of Spatial Functions before Upgrading to MySQL 8.0"「GISデータのアップグレードについて」"Upgrading to MySQL 8.0 with Spatial Data"などの記事にて解説しています。

[PostgreSQL]2018年7月の主な出来事

次期メジャーバージョンのリリースに向けては,2018年6月28日にPostgreSQL 11 ベータ2がリリースされました。このリリースにはベータ1版で見つかった多くのバグの修正を含めた,PostgreSQL 11の最終リリースで利用できるすべての機能のプレビューが含まれています。

PostgreSQL 11の最新情報

βテストが行われているPostgreSQL11について,先月に引き続き,SRAOSS社から「PostgreSQL 11 検証レポート(2018年7月4日版)⁠が公開されており,新機能について詳しく知ることができます。

  • JITコンパイルの追加 ⁠性能]
  • パーティショニングのさまざまな改善[機能+性能]
  • 並列実行のさまざまな改善[性能]
  • プロシージャ内でのトランザクション制御をサポート ⁠機能]
  • 認証でSCRAMチャンネルバインドをサポート[セキュリティ]
  • ALTER TABLE .. ADD COLUMN の性能改善 ⁠性能]
  • ウィンドウ関数の拡張[機能]

この中で注目したいのは,⁠プロシージャ内でのトランザクション制御をサポート」です。Oracleなどでは以前からプロシージャ内でのトランザクションの制御は可能でした。そのため,プロシージャ内でトランザクション制御を行っている場合は,PostgreSQLに移行する際にはプロシージャ周辺の設計を見直す必要がありました。PostgreSQL 11からはプロシージャの移行のハードルが大きく下がることが期待できます。

著者プロフィール

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

TIS株式会社

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


梶山隆輔

MySQL Sales Consulting Senior Manager。

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


有延敬三(ありのぶけいぞう)

MongoDB Inc.の日本代表として,MongoDBの日本での普及を推進。BEA,Plumtree,ウイングアーク1st,TalendなどのIT企業のマネジメントを歴任。


池真之(いけまさゆき)

OSSのトレーニング,コンサルティング,サポートを行う10X Vision株式会社代表。BEA,Webroot,AkamaiなどのIT企業のマネジメントを歴任。MongoDBと共にApache Lucene/Solr,AlfrescoなどのOSSプロダクトの普及をパートナーと共に推進。

コメント

コメントの記入