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

第90回MySQL 8.0.32リリース & PostgreSQLエンタープライズ・コンソーシアムセミナーがまもなく開催

この連載はOSSコンソーシアム データベース部会のメンバーがオープンソースデータベースの毎月の出来事をお伝えしています。2023年もOSSデータベース取り取り時報をよろしくお願いいたします。

デジタル変革×OSSの企画セミナーを3月のオープンソースカンファレンスにて

3月10日~11日に開催予定のオープンソースカンファレンス2023 Online/Springに、私たちOSSコンソーシアムが協賛出展して、データベース部会と他の部会が共同で企画セミナーを開催する予定です。詳細はこれから確定していきますが、データベースを含めたさまざまなOSSとデジタル変革(DX)を絡めたテーマ設定を予定しています。2022年の春にも同様の企画セミナーを開催しました。今年はその第2弾として、さらに充実した発表と討論ができるのではないでしょうか。この連載の次回で詳しくご案内します。

2022年のオープンソースカンファレンスでの座談会パート
2022年のOSC春の様子

[MySQL]2023年1月の主な出来事

2023年1月のMySQLの製品リリースは、MySQLサーバー8.0.32,5.7.41の各マイナーバージョンをはじめ、MySQL NDB Clusterや各種Connector,MySQL Shell,MySQL Workbenchなどのクライアントプログラムの商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。MySQLのマネージドサービスMySQL HeatWave Database Serviceのイメージも8.0.32にアップデートされています。

MySQLのクライアントプログラムであるMySQL Shell 8.0.32では、テーブルのエクスポートやインスタンス全体のダンプを行うユーティリティのオプションが拡張されました。これらのユーティリティーではオンプレのMySQLサーバーのデータを直接クラウド上のオブジェクトストレージに出力することも可能でしたが、OCI(Oracle Cloud Infrastructure)のオブジェクトストレージとAmazon S3およびその互換のオブジェクトストレージに加えて、8.0.32からAzure Blob Storageが対象に加わりました。

SQLのWHERE句相当のフィルタリングが行えるwhereやパーティション単位で指定ができるpartitionがオプションとして追加されました。またmysqldumpなどでも使える出力ファイルの修飾をあらわすfieldsTerminatedBy, fieldsEnclosedBy, fieldsEscapedBy, fieldsOptionallyEnclosed, linesTerminatedByの各オプションも追加されています。またこれらのオプションをまとめたdialectオプションも利用可能になっています。対象となるユーティリティーはテーブルをエクスポートするutil.exportTable(), インスタンス全体をダンプするutil.dumpInstance(), 複数のスキーマをダンプするutil.dumpSchemas()および複数のテーブルをダンプするutil.dumpTables()です。

MySQL 8.0.32リリース

MySQL 8.0.32では新機能の追加はほぼありませんでした。これまでも利用可能となっていたEXPLAIN文の3つの出力形式を、explain_formatシステム変数であらかじめ設定しておくことが可能になりました。8.0.31まではこの設定がなかったため、セッション変数の@@explain_formatにSET文で値を設定してからEXPLAIN文を実行するか、それぞれのEXPLAIN文のなかでFORMATオプションにて形式を指定して実行していました。

また、GISの空間参照系の変換を行うST_Transform()関数が、ほぼ全ての直交座標系をサポートしました。

MySQLのEXPLAIN文のフォーマット

MySQLサーバーでのSQL文の実行計画を表示するEXPLAIN文の出力フォーマットは、表形式のTRADITIONAL, MySQL 5.6で加わったJSON、および8.0で加わったTREEの3種類があります。JSON形式では処理コストの情報があわせて出力されます。またTREE形式は詳細な最適化に関する情報が出力され、HASH JOINの最適化の情報はこの形式のみで表示されます。

1 TRADITIONAL: 表形式での出力
mysql> EXPLAIN SELECT Name FROM country WHERE Code Like 'A%';
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type  | possible_keys | key     | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | country | NULL       | range | PRIMARY       | PRIMARY | 12      | NULL |   17 |   100.00 | Using where |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)
2 JSON: JSON形式での出力
mysql> EXPLAIN SELECT Name FROM country WHERE Code LIKE 'A%';
+------------------------------------------------------------------------------+
| EXPLAIN                                                                      |
+------------------------------------------------------------------------------+
| {
  "query_block": {
    "select_id": 1,
    "cost_info": {
      "query_cost": "3.67"
    },
    "table": {
      "table_name": "country",
      "access_type": "range",
      "possible_keys": [
        "PRIMARY"
      ],
      "key": "PRIMARY",
      "used_key_parts": [
        "Code"
      ],
      "key_length": "12",
      "rows_examined_per_scan": 17,
      "rows_produced_per_join": 17,
      "filtered": "100.00",
      "cost_info": {
        "read_cost": "1.97",
        "eval_cost": "1.70",
        "prefix_cost": "3.67",
        "data_read_per_join": "16K"
      },
      "used_columns": [
        "Code",
        "Name"
      ],
      "attached_condition": "(`world`.`country`.`Code` like 'A%')"
    }
  }
}                                                                              |
+------------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
3 TREE: ツリー形式での出力
mysql> EXPLAIN SELECT Name FROM country WHERE Code LIKE 'A%';
+--------------------------------------------------------------------------------------------------------------+
| EXPLAIN                                                                                                      |
+--------------------------------------------------------------------------------------------------------------+
| -> Filter: (country.`Code` like 'A%')  (cost=3.67 rows=17)
    -> Index range scan on country using PRIMARY over ('A' <= Code <= 'A????????')  (cost=3.67 rows=17)  |
+--------------------------------------------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

また、MySQLのGUIツールであるMySQL Workbenchでは、JSON形式をベースにEXPLAIN文の結果を図にするVisual EXPLAIN機能を提供しています。下記の例は、4つのINNER JOINのあるSELECT文に対するEXPLAIN文の結果を図にしたものです。

MySQL WorkbenchのVisual EXPLAN出力例(MySQL Workbenchのリファレンスマニュアルより)
MySQL WorkbenchのVisual EXPLAN出力例

[PostgreSQL]2023年1月の主な出来事

1月はPostgreSQL本体のリリースはありませんでした。今回はPostgreSQLエンタープライズ・コンソーシアム(PGECons)が2月に開催するイベントの事前情報と、PostgreSQL関連のその他ニュースをお伝えします。

pgAdmin4の脆弱性対応バージョンと日本語マニュアル

pgAdmin4はPostgreSQLの代表的な管理ツールで、この連載の第81回で最近のアップデートの状況をお伝えしました。このpgAdmin4にオープンリダイレクトの脆弱性が発見されました。この脆弱性により、細工された URL にアクセスすることで任意のウェブサイトにリダイレクトされる可能性があり、フィッシングなどの被害にあう恐れがあります。

この脆弱性は1月11日にJapan Vulnerability Notes(JVN)で発表されました。ところが、その後の1月24日に別の脆弱性が発表されています。ディレクトリトラバーサルの脆弱性により、異なるユーザの設定や、データベースの書き換えの可能性があるとのことです。pgAdmin4 6.19 がリリースされて、1月24日発表の脆弱性に対応されました。比較的短い間に2つの脆弱性が発表され、先の発表の対応だけでは後の脆弱性が残ってしまいますので要注意です。

なお、1月16日にEDB(EnterpriseDB)から上記の脆弱性に対応したpgAdmin4 6.19の日本語マニュアルが提供されました。600ページ近い非常に詳細なものです。マニュアルが必要な方はこちらを利用されると良いでしょう。EDBのWebサイトから入手することができます(ユーザ登録が必要です⁠⁠。

第20回北東アジアOSS推進フォーラムで石井達夫さんが表彰

第20回北東アジアOSS推進フォーラム大会において、2022年度の各国OSS貢献者の表彰などが行われました。SRA OSS合同会社 石井達夫さんが「NAOPF Special contribution award 2022」として表彰されましことが、日本OSS推進フォーラムから1月16日に発表されました。石井達夫さんの表彰は、長年にわたる PostgreSQLコミュニティへの貢献が評価されたものです。おめでとうございました。

石井達夫さん表彰の紹介画面
石井達夫さん表彰の紹介画面

なお、オンラインで開催された北東アジアOSS推進フォーラムのアーカイブ配信はどなたでもご覧いただけます。表彰発表は開始から38分あたり、石井達夫さんの講演は41分あたりから始まります。

第28回PostgreSQLエンタープライズ・コンソーシアムセミナー

2月10日、PostgreSQLエンタープライズ・コンソーシアム(PGECons)セミナー『IT/デジタル化の変革を理解し、次世代に生き残れる企業を確立する為には』を開催します

PGEConsでは、例年、春~夏にコンソーシアムの活動成果を報告するセミナー、冬に注目のテーマを取り上げたセミナーを開催しています。今回のセミナーでは、NPO法人 CIO Lounge 理事長の特別講演と、PostgreSQLを活用されている株式会社関電システムズのインタビューが行われます。

現在、社会活動のさまざまな場面でデジタル化が加速していますが、世界のデジタル競争力ランキングは未だ毎年落ちている現状もあります。そのような中で従来の企業組織構造による真のDXについて、何が課題か、どのように進めるべきかを考える機会になると思います。

開催概要
日時 2023年2月10日(金)14:00~16:50
配信形式 Zoomウェビナー(事前登録制)
主催 PostgreSQL エンタープライズ・コンソーシアム
配信協力 特定非営利活動法人LPI-Japan、株式会社アシスト
参加費用 無料
定員 500名
申込み・問合わせ PGEConsのイベントページを参照してください
IT/デジタル化の変革を理解し、次世代に生き残れる企業を確立する為には ~社会/経営/デジタル技術激変の中、企業として如何に成長するか~、NPO法人 CIO Lounge 理事長 矢島孝應 氏
コロナの影響で加速したように感じている日本のデジタル化ですが、世界のデジタル競争力ランキングは未だ毎年落ちています。従来の企業組織構造によるIT/デジタル化推進では企業の真のDXは進みません。ICTの本質を今一度解きほぐし、何が課題か、どのように進めていかなければならないかについて説明されます。
関電システムズ様に訊く!聖域なきPostgreSQL普及への取り組み内容について!、株式会社関電システムズ 松添隆康 氏
コスト削減の一環としてPostgreSQL普及が有効だと認識はしていても、実際に社内で展開しようとすると、具体的な進め方や関係各所に納得してもらう方法がわからない場合もあるでしょう。このセッションでは関西電力におけるPostgreSQLの採用背景や取り組み、今後の展望についてインタビュー形式でお話を伺います。

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

OSS-DB Exam Silver 技術解説セミナー

日程 2023年2月5日(日)13:00~14:15
場所 オンライン開催(Zoomウェビナー)
内容 OSS-DB Exam Silverの出題範囲からの解説を行うセミナーです。2月5日の回では、PostgreSQLならびにリレーショナルデータベースに関する一般知識と、OSS-DB Silverにおける「一般知識」の範囲について確認をします。
主催 特定非営利活動法人LPI-Japan

第28回PostgreSQLエンタープライズ・コンソーシアムセミナー

日程 2023年2月10日(金)14:00~16:50
場所 オンライン開催(Zoomウェビナー)
内容 本文で詳しく紹介しましたが、⁠IT/デジタル化の変革を理解し、次世代に生き残れる企業を確立する為には』をテーマにして、特別講演とインタビューセッションが設けられています。現在、社会活動のさまざまな場面でデジタル化が加速していますが、世界のデジタル競争力ランキングは未だ毎年落ちている現状もあります。そのような中で従来の企業組織構造による真のDXについて、何が課題か、どのように進めるべきかを考える機会になると思います。
主催 PostgreSQLエンタープライズ・コンソーシアム

TechXchange Japan vol.1: MySQL 8.0へのバージョンアップ

日程 2023年2月22日(木)16:00~17:00(予定)
場所 オンライン(Zoom)
内容 MySQL TechXchangeは新しいウェビナーシリーズです。MySQLや各種のデータベースをお使いのお客様の課題をテーマにMySQLのエンジニアが営業チームとの対話形式で進めるウェビナーです。
第1回のテーマは「MySQL 8.0へのバージョンアップの必要性」です。現在も多くのお客様がMySQL 5.6や5.7といった以前のメジャーバージョンを利用しています。いっぽうでMySQL 5.6は2021年2月に脆弱性の修正を含む全てのパッチのリリースが終了しているため、最新のメジャーバージョンであるMySQL 8.0へのバージョンアップが強く推奨されます。
このウェビナーではMySQL 5.6や5.7から8.0へのバージョンアップによって得られるメリットや手順を、お客様の疑問にお答えする形で解説していきます。お客様の社内でMySQLのバージョンアップの必要性について説明を求められた場合のヒントになるような情報をお届けします。
主催 日本オラクル株式会社 MySQL Global Business Unit

高可用性・性能がアップデート!MySQL HeatWave最新情報

日程 2023年3月2日(木)16:00~17:00(予定)
場所 オンライン(Zoom)
内容 MySQLのクラウド・データベースであるMySQL HeatWaveの高可用性と性能を向上させるレプリケーションに関する機能をご紹介するウェビナーです。
MySQL HeatWaveの高可用性構成の根幹となる技術はMySQLのグループレプリケーションです。またMySQL HeatWaveには複数ノードによる負荷分散によって参照処理性能を向上させるリード・レプリカが2022年12月に追加されました。
オンプレミスやクラウド上のMySQLサーバーをレプリケーション元として利用できるインバウンド・レプリケーションやMySQLから派生したクラウド・データベースからのレプリケーションのためのレプリケーション・フィルターも利用可能となっています。お申し込みページは近日公開予定です。
主催 日本オラクル株式会社 MySQL Global Business Unit

オープンソースカンファレンス 2023 Online Spring

日程 2023年3月10日(金⁠⁠・11日(土)10:00~18:00
場所 オンライン開催(ZoomおよびYouTube Live)
内容 オープンソースカンファレンスは、オープンソースの「今」を伝える総合イベントで、現在はオンラインでの開催が中心になっています。3月のOnline/Springは全国大会の位置づけで金曜日と土曜日の2日間での開催になりますので、有益なセミナーが多数実施されるはずです。本文冒頭でお知らせしたとおり、今回は私たちOSSコンソーシアムもセミナーを実施する予定で、データベース部会も参加します。
なお、オープンソースカンファレンスは、4月1日に3年ぶりの会場での展示が東京で開催されます(4月の会場開催ではセミナーと懇親会は実施されません⁠⁠。
主催 オープンソースカンファレンス実行委員会

おすすめ記事

記事・ニュース一覧