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

第60回ついに連載が満5歳! MySQL 8.0.21リリース、次バージョンPostgreSQL 13情報が続々

この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。今回は第60回で満5歳となりました。読者のみなさま、これまで執筆に関わっていただいた方、関係者のみなさまにお礼を申し上げます。次号からは6年目に入りますが、引き続きよろしくお願いいたします。

オープンソースカンファレンス2020 Online/KyotoでOSSデータベース特設トラック

オープンソースカンファレンス(OSC)オンライン京都にて、OSSデータベース特設トラックを設けます。今回はオープンソースビジネス推進協議会(OBCI)と他協賛企業が連携し、OSSコンソーシアムも協力して8月28日(金)午後に実施します。

OSSデータベース特設トラック概要
日時 8月28日(金)13:00 または 14:00スタート
プログラム
  • OBCIセミナー(特徴あるDBエンジンを取り上げる予定)
  • MySQL関連(日本オラクル MySQL GBU担当)
  • PostgreSQL関連(SRA OSS Inc. 担当)
  • パネルディスカッション「多様性時代のDB選択」

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

2020年7月にはMySQLサーバー8.0.21、5.7.31、5.6.49の各マイナーバージョンをはじめ、商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。

MySQL 8.0.21の新機能

MySQL 8.0.21の主な新機能は下記の通りです。MySQLサーバー開発チームのブログでもMySQL 8.0.21の新機能の紹介がされています。

InnoDBストレージエンジンのトランザクションログ無効化

大量データのロード時やレプリケーションのレプリカの初回データロードなどに、一時的にトランザクションを記録するInnoDBログを一時的に無効にできるDDL文ALTER INSTANCE DISABLE INNODB REDO_LOGが追加されました。DISABLEをENABLEに置き換えると再度有効になります。トランザクションログが無い状態となるので更新処理中にクラッシュが起きるとデータを失うリスクはありますが、すでにOracle ACEの三谷さんブログでも性能検証をされているとおり、データロード時の非常に大きな性能向上が見込めます。

JSON_VALUE()関数の追加

JSON_VALUE()関数はJSONドキュメントの値を取得するJSON_EXTRACT()関数にCAST()関数を組み合わせたように、指定した型で値を返す関数です。返すべき値がない場合のエラーハンドリングとして、単にエラーを返すかデフォルト値を返すかも関数の引数に指定できます。JSONドキュメントに対するインデックスの作成もJSON_VALUE()関数を利用することで生成列(Generated Column)を作成せずに可能となっています。下記はJSON_VALUE()関数のリファレンスマニュアルで紹介しているインデックス作成方法の違いの例です。

# 生成列を利用した場合
CREATE TABLE t2 (
    j JSON,
    g INT GENERATED ALWAYS AS (j->"$.id"),
    INDEX i1 (j)
);

# JSON_VALUE関数を利用した場合
CREATE TABLE t1(
    j JSON,
    INDEX i1 ( (JSON_VALUE(j, '$.id' RETURNING UNSIGNED)) )
);

mysqldump実行時にPROCESS権限が必須に

mysqldumpコマンドで--no-tablespacesオプションを利用しない場合はPROCESS権限が必須になりました。当初mysqldumpコマンドのリファレンスマニュアルに記載されていなかったため、MySQL 8.0.21リリース直後にバグとして報告されていました。

グループレプリケーションのデフォルト設定一部変更

ネットワークの一時的な分断やサーバーの応答性能の一時的な低下が発生した際に、誤ってグループから離脱しないように、デフォルトで10秒(group_replication_member_expel_timeout=5)無応答のサーバーをグループから切り離すまで待つようになりました。MySQL 8.0.20まではこのパラメタがデフォルトで0秒だったため、5秒待って切り離す設定でした。切りはなられたノードが自動的に復帰を試みる回数group_replication_autorejoin_triesもデフォルト値0から3となり、なるべく自動で復旧できる方向に変更されています。MySQL高可用性構成チームのブログでも紹介されています。

このほか、UPDATE文やDELETE文の中でサブクエリがINやEXISTSなどを使っていた場合に Multi-Table Trickと呼ばれるクエリチューニングの小技が使われることがありましたが、MySQL 8.0.21ではUPDATE文やDELETE文でもセミジョインやサブクエリのマテリアライズが行われるようになったためこの小技は使う必要がなくなりました。⁠MySQL 8.0 の薄い本」でおなじみの@hmatsu47さんブログで解説されています。

日本MySQLユーザ会会(MyNA会) 2020年7月

雑誌やWebでの連載、Webの定期更新を行っている方々がそれぞれの記事の紹介や書くことによるメリット、また悩みなどを語る日本MySQLユーザ会のオンラインイベントが開催されました。それぞれ記事を書く間隔はさまざまですが、定期的に新しいネタを探し続ける難しさや楽しみは講師の間でも共感されており、またマイナーバージョンアップにも関わらず毎回新機能が追加されリリースノートも長いため読むのが大変といった話が出ていました。

このイベントで紹介された連載や定期更新は以下の通りです。もちろんこのOSSデータベース取り取り時報もそのひとつです。

当日の動画は日本MySQLユーザ会のYouTubeチャンネルに掲載されており、また関連ツイートはTogetterにまとめられているのでぜひご覧ください。

ちなみに、イベント名が「日本MySQLユーザ⁠会会⁠⁠」となっていて打ち間違いのように思われる方もいらっしゃるかもしれませんが、⁠日本MySQLユーザ会」というグループの「会合」のようなニュアンスなので間違いではないとのことです。

8月以降も続くMySQL関連イベントの数々

オンラインでのセミナー開催がこれまで以上に一般的となり、会場の手配が不要で気軽にセミナーを開催できるようになったこともあり、8月以降もMySQL関連のイベントがいろいろと予定されています。

本記事の最後のイベント一覧にも掲載されていますが、8月26日の夜にはMySQL Technology Cafeの第9回として日本MySQLユーザの代表、副代表が登壇するイベントや、翌27日午後にはKDDIでのMySQL 8.0導入事例が紹介される予定のMySQL Virtual Day Event in Japan, さらにその週末にOSC 2020 Online/Kyotoでのセッションが予定されています。9月も日本MySQLユーザ会や日本オラクルのMySQLチーム主催のイベントが複数開催される可能性があるとのことです。

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

次期メジャーバージョンのPostgreSQL 13のベータ版が5月にリリースされて以降、関連情報が途切れること無く流れてきています。また、延期になっていたPostgreSQLエンタープライズ・コンソーシアムの成果発表会が9月初旬に開催予定です。

PostgreSQL 13ベータ2がリリース

6月25日に、2つめのベータ版がリリースされました。ベータ1からベータ2の仕様的な変更点は次の2点の様です。

  • 設定パラメータenable_hashagg_diskがhashagg_avoid_disk_planに名称変更しデフォルト値がOFFに
  • 設定パラメータenable_groupingsets_hash_diskが削除

上記以外では、ベータ1の期間中に報告されて改善や修正された事項が含まれています。主要な新機能については、前回のベータ1の段階で確定していたとみていいでしょう。

SRA OSS Inc.によるPostgreSQL 13ベータ版の検証報告

SRA OSS Inc. 日本支社によるPostgreSQL 13ベータ版の検証レポートが公開されました。内容は、PostgreSQL 13の主要な新機能を対象にして、実機で検証した結果が盛り込まれています。

  • B-Tree インデックスの性能向上
  • 新しい実行プラン
  • パーティションテーブル機能の拡張
  • パラレル VACUUM
  • 進捗レポートビューの拡張
  • pgbench の拡張
  • pg_rewind の拡張
  • SQL 機能の追加

レポートの中でも述べられている通り、今後正式にリリースされる PostgreSQL 13では、この検証レポートと同じでは無くなる可能性があります。なお、このレポートには検証環境へのPostgreSQL 13ベータ版のインストール手順も詳細に示されていますので、追検証を行いやすくなっています。これは、OSSの検証レポートを出す際の姿勢として見習うべきことでしょう。また同時に、自身で動かしてみたい方の教材としても重宝します。

PostgreSQLエンタープライズ・コンソーシアムの成果発表会がまもなく

PostgreSQLエンタープライズ・コンソーシアム(PGECons)の2019年度分の活動成果の発表セミナーは、コロナ禍で通常開催を見送り延期されていましたが、9月3日にオンラインで開催する予定で準備中です。

PGEConsの技術部会は3つのワーキンググループ(WG)に分かれて調査や検証活動をしています。各WGは2019年度は次のような活動をしてきました。

WG1: 新技術検証WG

  • PostgreSQLパラレルクエリ検証
    • PostgreSQL 11/12間での性能検証
    • PG-STROMとの性能検証
  • PostgreSQL 新機能検証
    • Pluggable-Storage調査
    • 定点観測(参照・更新)

WG2: 移行WG

  • PostgreSQL間のバージョンアップ検討
  • 移行ガイドブックの改訂
  • これまで取り組めていなかった新機能の検討(ストアドプロシージャ、パーティショニング、パラレル処理)

WG3: 課題検討WG

  • パブリッククラウド、性能トラブルの2テーマは2018年度から継続
    • パブリッククラウドの調査結果のまとめ
    • 性能トラブル事例と対策をさらに拡充
  • 拡張統計情報、機械学習によるパラメータチューニング自動化の検証
    • バージョン10で導入された拡張統計情報の活用方法と最適な適用ケースを調査検討
    • 機械学習を用いてPostgreSQLのパラメータチューニングを自動で導き出せないか調査検討、PGTuneと比較検証

9月の成果発表会も、各WGの活動内容から得られた知見が発表されることになるはずです。また、CR(Community Relations)部会や、2020年度の活動についても紹介されます。このセミナーの正式な発表と参加募集は、近日中に開始される予定ですので、PGEConsのWebサイトにご注目ください。

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

COVID-19への警戒が続いていますので、引き続き各種イベントがオンライン化されています。いずれの団体でも通常開催かオンライン開催かを見定めながら進めています。そのため、イベント情報の公開から開催までの日数が短い傾向にあり、8月に開催されるオンラインイベントがこれから発表される場合もあると思いますので、ご容赦ください。

オープンソースカンファレンス2020 Online/Kyoto

日程 2020年8月28日(金⁠⁠~29日(土)10:00~18:00
場所 オンライン開催
内容 オープンソースカンファレンスは、オープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催していますが、2月以降はオンライン開催になっています。京都で開催予定だったこの回も今年はオンライン開催となりました。冒頭でご案内のとおり、1日目の28日にOSSデータベース特集トラックが設けられます。セミナープログラムは8月上旬に公開される予定です。
主催 オープンソースカンファレンス実行委員会

【オンライン開催】MySQL Technology Cafe #9

日程 2020年8月26日(水)18:00~20:00(17:45接続開始)
場所 オンライン開催
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティMeeutpセミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第9回開催。
日本MySQLユーザ会(通称MyNA)は2000年3月に設立され、今年で20周年となりました!これを記念して、MySQL Technology Cafe #9 は、日本でのMySQLの普及に多大な貢献をして下さっているMyNAに焦点を当て開催します。
MyNAの代表、副代表の皆さまに登壇いただき、これまでのユーザ会との関わりを振り返っていただいたり、今後のユーザ会でやってみたいこと、期待することなどについてお話していただきます。また、Sun Microsystems時代からMySQLのサポートエンジニアとして働いていて、MyNAとの関りも深い木村 明治氏も登壇させて頂きます。
主催 Oracle Code Night

MySQL Day Virtual Event in Japan

日程 2020年8月27日(木)13:00~18:00(12:45接続開始)
場所 オンライン開催(Zoom)
内容 MySQLの初のバーチャル・カンファレンスMySQL Day Virtual Eventの日本版を開催。KDDI様からのゲスト講師やMySQLサポートチームの奥野が登壇しMySQL 8.0導入のベストプラクティスをご紹介予定です。KDDI株式会社の鈴木 雄祐様より「MySQL8.0 ~導かれし高可用~」をタイトルにKDDIにおけるDB安定稼働へ向けた取り組みとMySQL8.0の採用事例についてご紹介いただきます。ぜひご参加ください。
主催 日本オラクル株式会社 MySQL Global Business Unit

アシストオンラインフォーラム2020

日程 2020年8月24日(月⁠⁠~28日(金)10:00~16:45
場所 オンライン
内容 多彩な分野/製品/業種をカバーする総合的なITセミナーですが、PostgreSQL(EnterpriseDB)関連のセッションが複数含まれています。
  • 8月24日(月)13:00~13:45 ⁠DX時代のデータベースの大本命、EDB Postgresを使いこなせ!」⁠アシスト)
  • 8月27日(木)10:00~10:45 ⁠金融業界での開発・運用実績を集結!「クラウド時代のSIビジネス」で選ばれるDBとは」⁠三菱総研DCS)
  • 8月27日(木)11:00~11:45 ⁠ブレイク・フリー Oracle ファーストステップ」⁠エンタープライズDB)
主催 株式会社アシスト

PostgreSQLエンタープライズ・コンソーシアム成果発表会

日程 2020年9月3日(木)予定(公式発表にご注意ください)
場所 オンライン(Zoomウェビナー)
内容 記事本文でもご案内のとおり、2019年度分の活動成果が発表されます。3つの技術部会ワーキンググループと、CR(Community Relations)部会、今年度の活動計画が発表されます。このセミナーの正式な発表と参加募集は、近日中に開始される予定ですので、PGEConsのWebサイトにご注目ください。
主催 PostgreSQLエンタープライズ・コンソーシアム

PostgreSQL Conference Japan 2020

日程 2020年11月13日(金)10:00〜18:00 講演の一般募集締切: 2020年8月31日(月)
場所 AP日本橋(東京駅より徒歩5分)
内容 こちらはユーザ会(JPUG)主催の、PostgreSQLの総合カンファレンスです。午前は基調講演 を含む2講演を予定、午後は3トラックにて12 講演程度が予定されています。また、講演発表の一般募集が始まりました。募集締め切りは2020年8月31日です。
主催 日本PostgreSQLユーザ会(JPUG)

おすすめ記事

記事・ニュース一覧