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

第58回OSS-DB入門セミナー開催、MySQL 25周年、PostgreSQL 13ベータ版登場

この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。

OSC Online/Nagoyaで「二大OSS-DB&アプリ開発“超”入門」セミナー

オープンソースカンファレンス(OSC)名古屋は会場での通常開催からオンラインに切り替わり、5月30日の開催となりました。当然ですがオンラインですから地理的な制約がありません。セミナーは5または6トラックが並ぶ充実のラインナップとなりました。

データベース部会では、オープンソースビジネス推進協議会(OBCI)と共同で企画セミナーを実施します。⁠OSSデータベース入門セット ~二大OSS-DB & アプリ開発⁠超⁠入門」という2枠連続セミナーで、次のような内容です。

  • 「NoSQL+SQL=MySQL」ってどういうこと?MySQL最新技術情報
    梶山 隆輔, Oracle Corporation MySQL GBU
  • PostgreSQL⁠超⁠入門 - PostgreSQLの現在地点
    高塚 遥, 日本PostgreSQLユーザ会(JPUG)
  • 「OSSデータベース取り取り時報」総集編2019-2020
    溝口 則行, TIS
  • Laravel入門
    滝澤 正大, デジタル・ヒュージ・テクノロジー
セミナー講師陣(左から梶山、高塚、滝澤、溝口)
セミナー講師陣(左から梶山、高塚、滝澤、溝口)

この記事は開催前に執筆してますので、実施状況をお伝えすることができませんが、OSSコンソーシアムのWebサイトに参加レポートを記しておきます。また、発表ビデオも後日公開になるはずです。

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

本連載の第57回締め切り直後、2020年4月末にMySQLサーバー8.0.20, 5.7.30, 5.6.48の各マイナーバージョンをはじめ、商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。

1995年5月23日に最初のバージョンがリリースされてから25年が経ちました。MySQLの公式ブログでも25周年のメッセージが掲載されています。

日本MySQLユーザ会(MyNA)の設立は2000年3月で本来は20周年記念イベントを予定していましたが、情勢を考慮し一度延期となっていました。MyNA の20周年とMySQLの25周年を記念したオンラインイベントが5月25日に開催されました。

日本MySQLユーザ会(MyNA)20周年 & MySQL 25周年イベント

今回のオンラインイベントでは、MyNAの代表であるとみたまさひろさんや、米国 MySQL,Inc に開発インターンとして在籍するという日本でも数少ない経験をお持ちのSCSK株式会社 池田 徹郎さんからMySQLの歴史にまつわる懐かしい話題が紹介されていました。MySQL初期から日本での普及に尽力されているソフトエージェンシーの立岡さんは、技術的な観点からだけではなく、日本でも極めて早い時期からMySQLのライセンスやサポートを販売されてきている経験談をご紹介いただき、多くの参加者は初めて聞くような話がいくつも飛び出していました。特に監修に関わられた書籍『MySQL & mSQL』が日本で初めてMySQLの文字が入った書籍であるこが紹介された際には、多くのツイートでmSQLの存在について驚きの声が並んでいました。

またMySQLを活用するエンジニアのコミュニケーションの場ともなっているMySQL Casualの中の人のmyfinderさん、日本オラクルのMySQLチームからはこの10年以内の様子もお話しいただきました。

MySQL 8.0.20の新機能

MySQL 8.0.20の主な新機能は下記の通りです。

ハッシュジョインの対応範囲の拡大

MySQL 8.0.18で等価条件でのインナージョインに対してオプティマイザーがハッシュジョインを選択して実行可能となりました。MySQL 8.0.20からは以下のジョインに関してもハッシュジョインが利用されるようになりました。

  • Inner non-equi-joins
  • Semijoins
  • Antijoins
  • Left outer joins
  • Right outer joins
ダブルライトバッファーのシステム表領域からの独立
InnoDBのダブルライトバッファーは、メモリ内のバッファプールの内容をデータファイルに書き込む前にフラッシュされるストレージの領域です。これまではInnoDBのシステム表領域(デフォルトファイル名はibdata1)に含まれていましたがMySQL 8.0.20からは独立したファイルとなりました。デフォルトでは2つのファイルが作成されます。
バイナリログのトランザクション圧縮
トランザクションによるデータの変更を記録するバイナリログでリアルタイムのトランザクション圧縮が可能となりました。圧縮されたトランザクションはバイナリログに記録され、またレプリケーションで他のMySQLサーバーに転送する際も圧縮されたままとなるため、ディスクIOやデータ転送量の削減に役立ちます。デフォルトではzstdアルゴリズムでの圧縮で圧縮率を設定可能、zlibアルゴリズムの利用も可能です。
InnoDBのトランザクションスケジュールからFIFO廃止
MySQL 8.0からトランザクションスケジュールのアルゴリズムとしてCATS(Contention-Aware Transaction Scheduling)が導入されていますが、MySQL 8.0.20で従来のFIFOが廃止されCATSのみが利用されるようになりました。

他にもXプロトコルのメッセージの圧縮レベルの変更JOINやGROUP BYなど用途別に利用するインデックスを指定できるヒント句SELECT * INTO OUTFILE文のINTO OUTFILEの位置の制約追加など、多くの機能追加とバグ修正が行われています。詳細はMySQLサーバー開発チームのブログおよびリリースノートをご確認ください。

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

5月はPostgreSQLでもマイナーバージョンアップがあり、次のメジャーバージョンのベータ版が遂に公開されました。

PostgreSQL 12.3, 11.8, 10.13, 9.6.18, 9.5.22 リリース

現在サポートされているすべてのバージョンについて、5月14日にマイナーバージョンアップが出ました。9.4については前回のリリースが最後になっています(本連載第55回参照)ので、今回からはリリースされません。PostgreSQLではマイナーバージョンでは新機能の追加は無くバグ修正と既存機能の改善になります。変更は80点近くに上りますが、たとえば次のような点が挙がっています。なお、今回リリースされた各バージョンによって、各変更点が関係するか否かは異なります。

  • 生成列に関する複数の修正
  • SET STORAGEが指定されたALTER TABLEに関する複数の修正
  • DROP OWNED BYの競合に関連した修正
  • ROWトリガーを継承したパーティションのデタッチの改善
  • REINDEX CONCURRENTLYに関連した複数の修正

SRA OSS, Inc. 日本支社による技術情報

SRA OSS, Inc. 日本支社が、今回リリースされたバージョンでの変更点の日本語解説を速攻で公開されています。ソフトウェアのバージョンアップ版は、念のために変更箇所の影響を確認してから適用したい/すべきと考えている方は多いでしょう。特にDBMSについては他のミドルウェアよりも慎重になります。今回はマイナーバージョンアップなので基本的には機能追加や仕様変更は無いものの変更点は80近くになっていますので、やっぱり日本語情報がありがたいですよね。

Windows用インストーラのセキュリティ修正

日本PostgreSQLユーザ会(JPUG)によると今回のリリースでPostgreSQL本体にはセキュリティ修正はないものの、Windows用インストーラではセキュリティ修正がされています。全てのメンテナンス中バージョンのWindowsインストーラに影響があるようです。修正された脆弱性は次のものです。

  • CVE-2020-10733: Windows installer runs executables from uncontrolled directories.

次期メジャーバージョンPostgreSQL 13のベータ版リリース

本号の準備を始めていた5月21日に、次のメジャーリリースであるバージョン13の最初のベータ版のリリース情報が入ってきました。オンライン開催となった5月末のPGCon2020にまにあいました。このリリースのお知らせから、ハイライトとして挙げられている項目をすべてではありませんが列挙します。

  • Bツリーインデックスでの重複データの処理方法が改善
  • インクリメンタルソートが追加
  • パーティショニング機能に多くの改善
  • FETCH FIRST で WITH TIES オプションのサポート
  • VACUUMコマンドがインデックスと並列処理
  • 信頼された拡張機能の概念が導入
  • データベース内のアクティビティを監視する方法の提供
  • 接続ライブラリに安全な接続を支援する新しいパラメータ
  • 外部データラッパ(FDW)での証明書ベースの認証を使用した接続の保護

以前にも書きましたが、バージョン13の正式リリースは、公式ロードマップでは暫定スケジュールとして2020年の第3四半期にリリース予定となっています。

nuko_yokohamaさんの「PostgreSQL 13がやってくる!」の続報

本連載第56回で紹介した、nuko_yokohamaさんの「PostgreSQL 13がやってくる!」ですが、その後も続々と新しい情報が追加されています。リリース情報などの文書を読むだけだとわかりにくいものも、動作例を示していただいているので「あぁ、そういうことなのか」と理解しやすくなります。たとえば、上記ベータ版のハイライトに記されたインクリメンタルソートについて、「PostgreSQL 13がやってくる!(5⁠⁠ - incremental sort」で実際に使ったときの挙動が説明されています。

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

COVID-19警戒の中で、現時点ではさまざまなイベントがオンライン化されており、また、いずれの団体でも通常開催への復帰タイミングを見定めかねています。そのため、イベント情報の公開から開催までの日数が短くなっています。6月に開催されるオンラインイベントがこれから発表される場合もあると思いますので、ご容赦ください。

OSSコンソーシアムでは、例年は6月下旬~7月上旬に年次総会と併せて一般向けのセミナーを開催しておりましたが、今年は大勢の方に参加いただくセミナーは開催せずに、オンラインで会員のみの総会を実施することとなりました。

PostgreSQLエンタープライズ・コンソーシアムでも、例年5月頃に年次総会と併せて成果報告セミナーを開催していますが、今年の成果報告セミナーは延期になっています

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

日程 2020年6月27日(土⁠⁠ 10:00~18:00
場所 オンライン開催
内容 オープンソースカンファレンスは、オープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催しています。札幌で開催予定だったこの回も今年はオンライン開催となりました。セミナープログラムはまもなく公開される予定です。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。
主催 オープンソースカンファレンス実行委員会

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

日程 2020年6月19日(木⁠⁠ 18:00-20:00 ⁠17:45接続開始)
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティ Meeutp セミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第8回開催。今回のTechnology CafeではMySQLコミュニティチームのFrédéric Descamps @lefredが登壇し、MySQL for Pythonをテーマに熱く語ります。MySQLをNoSQLとして利用する方法やDevOpsのためのMySQL Shellプラグイン開発などをご紹介予定。
主催 Oracle Code Night

【オンライン開催】MySQL8.0 入門 ~インストール編 for Windows~

日程 2020年6月11日(木⁠⁠ 15:00-16:30 ⁠14:45接続開始)
内容 MySQL入門セミナーを最新バージョンのMySQL 8.0 対応版で開催します!今回は、MySQL 8.0のWindows環境へのインストール方法を解説します。MySQLの導入や利用にあたって必要となる体系的な知識を学べるMySQL入門セミナーにぜひご参加ください。
主催 日本オラクル株式会社 MySQL Global Business Unit

【オンライン開催】MySQL8.0 入門 ~インストール編 for Linux~

日程 2020年6月17日(水⁠⁠ 15:00-16:30 ⁠14:45接続開始)
内容 MySQL入門セミナーを最新バージョンのMySQL 8.0 対応版で開催します!今回は、MySQL 8.0のLinux環境へのインストール方法を解説します。MySQLの導入や利用にあたって必要となる体系的な知識を学べるMySQL入門セミナーにぜひご参加ください。
主催 日本オラクル株式会社 MySQL Global Business Unit

おすすめ記事

記事・ニュース一覧