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

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

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からはプロシージャの移行のハードルが大きく下がることが期待できます。

MongoDBのご紹介

MongoDBは、オープンソースソフトウェアのNoSQLに分類されるドキュメント指向データベースです。世界で人気のあるデータベースのランキングを公表しているDB-Engines Rankingでも、Oracle、MySQL、Microsoft SQL Server、PostgreSQLなどのRDBMS製品に続いて、5位となっております。スコア的にも、NoSQLデータベースの中では頭一つ抜けています。MongoDBを開発する会社、米国のMongoDB Inc.は昨年10月にナスダックに上場しており、開発に強くコミットしています。世界中の多くの開発者からの支持も、ダウンロード数やオンライン教育受講者数に表れています。

  • 累計ダウンロード数3,500万以上
  • 日本での累計ダウンロード数100万以上
  • 無償オンライン教育受講者延べ100万人以上

MongoDBは、製造、金融、通信、EC、インターネットサービス企業などさまざまな業種で活用されています。MongoDBを利用しているユーザの方々にとって、MongoDBのメリットは次のとおりです。

  • JSONをそのまま格納できる
  • テーブル、スキーマの設定が不要
  • 使いやすくセルフラーニング環境が揃っている
  • 事例や実績が豊富である

MongoDBは、ビッグデータをオンラインで活用するオペレーショナルデータベースとして、デジタルトランスフォーメーションの重要なプラットフォームです。日本でも、もっと多くの方にMongoDBを知っていただき、ビッグデータの処理能力を向上、ビジネスの変化対応力向上のお役に立てていただければと思います。MongoDB Community Serverは、このリンクからダウンロードしてください。また、インストール方法も、英文になりますがご確認ください。

[MongoDB]最新リリース情報

MongoDBのリリース情報 (2018年7月25日現在)

メジャーリリース
MongoDB 4.0 2018/6/27リリース
マイナーリリース
MongoDB 3.6.6 2018/7/16リリース
MongoDB 3.4.16 2018/7/10リリース
MongoDB 3.2.20 2018/5/10リリース

MongoDB 4.0の主な新機能と変更点

  • 複数ドキュメントでのACIDトランザクションをサポート、ただしレプリカセットのみ。スタンドアロン、シャーディングは対象外
  • aggregation オペレーターとして新しいデータの型変換や文字列の$trimなどを追加
  • SCRAM-SHA-256をサポート
  • 無償でfree Cloud monitoringを提供
  • WindowsのインストールでMongoDBをサービスとし起動する設定が可能
  • MONGODB-CRサポートを削除
  • MMPAPv1ストレージエンジンを非推奨(Deprecate)となり将来は廃止予定
  • レプリカセットにおいてWiredTigerストレージエンジンのノードで--nojournalまたは storage.journal.enabled: false は指定できない

MongoDB 4.0に対応するDriverのバージョン

C 1.11.0
C++ 未対応
C# 2.7
Java 3.8.0
Node 3.1.0
Perl 2.0.0
PHP 1.5.0
Python 3.7.0
Ruby 2.6.0
Scala 2.4.0

最新のDriverリリース情報(2018年7月25日現在)

C 1.12.0 2018/7/18リリース
C++ 3.3.0 2018/6/13リリース
C# 2.7.0 2018/6/26リリース
Java 3.8.0 2018/6/26リリース
Node 3.1.1 2018/7/5リリース
Perl 2.0.1 2018/7/10リリース
PHP 1.5.1 2018/7/9リリース
Python 3.7.1 2018/7/16リリース
Ruby 2.6.1 2018/7/11リリース
Scala 2.4.0 2018/6/26リリース

2018年8月開催予定のセミナーやイベント、ユーザ会の活動

オープンソースカンファレンス 2017 Kyoto

日程 2018年8月4日(金),5日(土)
場所 京都リサーチパーク(KRP)東地区(OSC総合受付:アトリウム)
内容 オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。日本オラクルのMySQLチームによるMySQLに関する講演とブース展示、JPUGによるPostgreSQLに関する講演とブース展示が予定されています。
主催 オープンソースカンファレンス実行委員会

db tech showcase Tokyo 2018

日程 2018年9月19日(水⁠⁠~21日(金)
場所 秋葉原UDX Conference 6F
内容 db tech showcase は、世界中からトップ技術者が集まり、⁠データベース技術のオモテもウラも語る⁠⁠ をテーマに、最先端テクノロジー、現場で得たノウハウ、活用事例を共有するテクノロジーカンファレンスであり、データベースに携わるすべての技術者に「学び」⁠気づき」⁠変化」を提供する場です。日本オラクルのMySQLチームによるMySQL 8.0の技術情報に関する講演、MySQLを利用中の企業からの導入事例、MySQLコミュニティからの講演が予定されています。
主催 株式会社インサイトテクノロジー

PostgreSQL Conference Japan 2018(講演募集中)

日程 2018年 11月 22日(木)
※講演募集締め切りは 2018年9月1日です
場所 AP八重洲通り 東京都中央区京橋1丁目10番7号 KPP八重洲ビル
内容 PostgreSQLの国内総合カンファレンス。PostgreSQLに関わる方がさらに知見を深めるのにはもちろん、PostgreSQLの知識をこれから得たいという方にも最適なコンテンツが予定されています。
主催 日本PostgreSQLユーザ会(JPUG)

おすすめ記事

記事・ニュース一覧