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

第69回新しいSQL構文”PLEASE句”実装!?、MySQL 8.0.24リリース&マニュアル日本語化、PostgreSQLエンタープライズ・コンソーシアム報告会がまもなく

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

新しいSQL構文”PLEASE句”の実装!?

昨今ポリティカル・コレクトネスが話題となる機会が多いなか、差別的になり得るIT関連の用語の変更が『ニューヨーク・タイムズ』紙でも話題となっていました。この記事の中ではMySQLが例として取り上げられ、20年前にリリースされたMySQL 3.23.15以来使用されてきたレプリケーション関連の用語を2020年に変更したことが紹介されていました。

きっかけは1本のブログ

2021年4月に日本MySQLユーザ会の副代表である坂井 恵さんがブログを公開し、データベースに対してもSQL文の実行を「命令」するのではなく「依頼」する構文の必要性を訴え、"MySQレ"の新機能として⁠PLEASE句⁠を提唱されました。その後の動きは素早く、同じく日本MySQLユーザ会の副代表のyoku0825さんがパッチを作成してGitHubで公開されました。PLEASE句が無いとMySQLがヘソを曲げて応答性能が遅くなる仕組みも組み込まれています。さらにsql_modeにSTRICT_PLEASE_MODEが用意され、有効にするとPLEASE句が無いとエラーを返す挙動になるところまで実装されています。

広がるデータベース・コミュニティの輪

上記からリンクされたブログをお読みになった方はお気づきかと思いますが、⁠PLEASE句⁠の実装はあくまでも坂井さんが投入された今年のエイプリルフールのネタです。ただ単にブログが出て終わりではなく、実際にパッチが作成され、さらに広がりを見せたのがこのテーマの興味深い点です。

MySQLユーザ会のなかで盛り上がりを見せると、すぐに反応されたのがPostgreSQLの主要コントリビューターでもある澤田さんで、すぐにPostgreSQLにもPLEASE句を実装し、さらにさまざまな工夫も追加されています。

続けてOracle Database、Spark SQL、SQL Server、さらにRedis、SQLite3まで実装の試みが行われ、データベース製品や技術を超えたお祭り模様となりました。実装の面ではやはりオープンソース製品は製品本体の改変を行える分、意図した挙動に楽に持って行くとことできている印象です。

この話題をテーマにしたユーザ会合同のイベントが4月12日に開催され、当日の模様はYouTubeにも掲載されていますので、製品別にSQL構文の拡張やそれに準ずる実装に興味のある方はぜひご覧ください。

[MySQL]2021年4月の主な出来事

2021年4月のMySQLの製品リリースは、MySQLサーバー8.0.24、5.7.32の各マイナーバージョンをはじめ、MySQL NDB Clusterや各種Connector, MySQL Shell, MySQL Workbenchなどのクライアントプログラムの商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。なおMySQL 5.6は1月にリリースされた5.6.51が最終のメンテナンスリリースとなり、今後はごく例外的な状況を除いてセキュリティパッチなども提供されなくなりますので、ご利用中の方はMySQL 8.0などへのバージョンアップをご検討ください。

MySQL 8.0 & MySQL Shellリファレンスマニュアル日本語化

第67回でご紹介したとおり、MySQL 8.0のリファレンスマニュアルおよびMySQLの新しいクライアントプログラムであるMySQL Shellのユーザーガイドが日本語化され、4月下旬に公開されました。

日本語化にあたっては基本的に機械翻訳による対応が行われ、その後、日本MySQLユーザ会の方々によってバグレポートの形で課題をご報告いただきました。

MySQL 8.0.24の新機能

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

オプティマイザーのさらなる改善
MySQL 8.0 GA以降も積極的な機能改善が行われているのがオプティマイザーです。8.0.24では、相関スカラーサブクエリに対しても従属テーブルの最適化が適用されます。
タイムアウト時のエラーメッセージ変更
これまでのMySQLではwait_timeoutやinteractive_timeoutによってMySQLサーバーが接続を切った場合でも勝手に接続が切れたりサーバーがいなくなったようなエラーメッセージだったものが、タイムアウトによりサーバーがクライアント接続を切断したことを明示するメッセージに変更。
グループレプリケーションの参加許可IPの動的変更
システム変数group_replication_ip_allowlistで設定可能な、どのホストをグループレプリケーションへの参加を許可するかの設定allowlistの値を動的に変更可能に。これまでは参加を許可するホストの変更にはグループレプリケーションの停止が必要。
InnoDBの表領域のAUTOEXTEND_SIZEの上限拡大
MySQL 8.0.23から追加された、テーブルごとにInnoDBの表領域が作成されている場合の自動拡張サイズを設定するAUTOEXTEND_SIZEの上限が、64MBから4GBに。

またHeatWaveも8.0.24にバージョンアップしており、INSERT ... SELECT文がサポートされ、SELECT部分の処理はHeatWaveクラスターで実行され、MySQLノードのテーブルにデータが追加されます。またHeatWaveでサポートされていないデータ型に対する処理を実行した場合はエラーメッセージにどのデータ型が原因かが出力されるようになっています。

[PostgreSQL]2021年4月の主な出来事

4月はPostgreSQLや主要な周辺ツール等でのリリースはありませんでした。

PostgreSQLエンタープライズ・コンソーシアムが活動成果報告会を5月27日開催予定

国内の有力企業が集まって共同でPostgreSQLの普及・啓蒙活動や技術検証活動を行っているPostgreSQLエンタープライズ・コンソーシアム(PGECons)は、年度ごとに活動成果をまとめて発表をしています。前期2020年度の活動成果がまもなく公開される予定になっており、活動成果報告会が5月27日(金)の午後にオンラインにて開催の予定になっています。

内容は、技術部会の各ワーキンググループや、CR(Community Relations)部会が勢揃いしますので、次の様な盛りだくさんになるはずです。

  • パブリッククラウド検証ではMicrosoft AzureマネージドRDBサービスについて
  • 昨年リリースされた最新のメジャーバージョンであるPostgreSQL 13の性能傾向
  • パラレルクエリの性能特性についての検証結果
  • PostgreSQL移行のためのOracle技術者向けのPostgreSQL自習書、アプリケーション移行関連情報、移行時のチューニングについての最新情報
  • PostgreSQL開発コミュニティとの連携活動
  • PGECons 2021年度活動計画

この成果発表会の開催案内と参加エントリは、ゴールデンウィーク明けまもなくに発表されるでしょう。PostgreSQLエンタープライズ・コンソーシアムのWebサイトに掲載されますのでご注意ください。メール情報配信を使われると見落とすことがないのでお薦めです。

本連載の次号では、この成果報告会の様子をお伝えしつつ、公開された新しい検証成果についても紹介しようと思います。

pg_statsinfo ―統計・OSリソース情報時系列取得保存ツールの紹介

pg_statsinfoはPostgreSQLの統計情報やOSリソース情報を時系列で取得・保存するツールです。複数スナップショットを取得してその期間のレポートが参照出来ます。10年以上前から存在する定番ツールのひとつと言っていいでしょう。

4月にSRA OSS Tech Blogにて新しい解説情報が公開されました。このツールは以前から存在していたツールだと書きましたが、pg_statsinfoのバージョンによってPostgreSQLの対応バージョンとOS種別が異なります。昨秋にPostgreSQL 13が正式リリースとなりましたが、PostgreSQLをバージョンアップする際には、pg_statsinfoもバージョンアップする必要があります。また、対応するLinux (RHELまたはCentOS) のバージョンにも注意する必要があります。最新のpg_statsinfo 13 (PostgreSQL 13用) では、ひとつ前のpg_statsinfo 12と比べて対応OSは変わっていません。

pg_statsinfoをこれから修得しようと思った場合、まず最初にするのは当然ですがインストールです。前述のSRA OSS Tech Blogの記事では、最新のPostgreSQL 13 と pg_statsinfo 13でのインストールの実施手順を詳細に示していますので、インストールでつまずくことが避けられるでしょう。OSSツールでは旧バージョンの情報を参照したらインストールでつまずいてしまうということがよくありますよね。

インストールが無事におわったら、ツールそのものの使い方ですが、SRA OSS Tech Blogでも書かれているとおり、pg_statsinfoの公式サイトにたいへんに詳しくて図もふんだんな日本語ドキュメントが掲載されています。一般にOSSの公式サイトの説明文は英語でひたすら文章だけというケースも多いので、わかりやすい丁寧な解説はとても助かります。pg_statsinfoや、一緒に使うことになるpg_stats_reporter、pg_stat_statementsについての解説は、それぞれの公式サイトや検索サイトで情報を探して勉強されるのが良いでしょう。

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

事例に学ぶMySQL Enterprise Edition活用のポイント

日程 2021年5月25日(火)午後
場所 オンライン(Zoom)
内容 MySQLを活用して先進的なビジネスを展開する企業において、MySQL Enterprise Editionが提供する監視機能、セキュリティ機能やサポートサービスを利用することで、データベースの運用効率やセキュリティの向上、および機会損失の回避を実現しています。
今回のウェビナーではMySQL Enterprise Editionのもたらすビジネス的なメリットを、実際のお客様の声とあわせてご紹介いたします。
主催 日本オラクル株式会社 MySQL Global Business Unit

MySQL Technology Cafe #12

日程 2021年5月21日(金) 18:30-20:30 (18:20頃接続開始)
場所 オンライン開催
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティMeeutpセミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第12回開催。
2021年3月にMySQL Database ServiceのHA (High Availability)機能がリリースされました。今回のMySQL Technology Cafeでは、早くも3社のクラウドスペシャリストたちにお集まりいただき、MySQL Database ServiceのHA機能の検証結果を共有いただきます!
主催 Oracle Code Night

PostgreSQLエンタープライズ・コンソーシアム活動成果報告会(調整中)

日程 2021年5月27日 (金) ⁠予定)
場所 オンライン
内容 本文でも紹介しましたが、PostgreSQLエンタープライズ・コンソーシアム(PGECons)の昨年度の活動成果発表が勢揃いするセミナーです。詳細はPGEConsのWebサイトでまもなく発表される情報をご参照ください。
主催 PostgreSQLエンタープライズ・コンソーシアム

オープンソースカンファレンス 2021 Online/Nagoya・Hokkaido

日程 〔Online/Nagoya〕2021年5月29日(土) 10:00~18:00
〔Online/Hokkaido〕2021年6月26日(土) 10:00~18:00
場所 オンライン開催
内容 オープンソースカンファレンスはオープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催していますが、2020年の春以降はオンライン開催になっています。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。
Nagoyaはプログラムが公開されました。MySQLやPostgreSQLのセミナーもあります。Hokkaidoは5月17日まで出展者募集中です。
主催 オープンソースカンファレンス実行委員会

おすすめ記事

記事・ニュース一覧