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

第84回MySQL 8.0.30がリリース、次のバージョンPostgreSQL 15をベータ版から予習しよう

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

2015年9月の第1回から連載が始まり、今回で満7年間続けることができました。次号からは8年目に突入します。これからもよろしくお願いいたします。

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

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

MySQL 8.0.30リリース

MySQL 8.0.30では新機能としてGenerated Invisible Primary Key(GIPK)が追加されました。GIPKは「InnoDBストレージエンジンを使用していて主キーのないテーブル」に自動的に不可視属性の付いた主キーを作成する機能です。MySQLの高可用性構成を構築するための機能であるグループ・レプリケーション分析処理を圧倒的に高速化するクラウド・データベースのMySQL HeatWaveのエンジンでは各テーブルに主キーがあることが前提条件となっています。この要件にアプリケーションへの影響を最小限に抑えて対応するために導入された新機能となります。

デフォルトの設定ではGIPKは無効になっているため、GIPKを利用するにはサーバー変数のsql_generate_invisible_primary_keyを有効にします。図の例ではこの設定を有効にした状態で主キーのないテーブルGIPK_testを作成しています。SHOW CREATE TABLEで確認できるとおり、自動的に主キーとなるmy_row_id列が冒頭に追加され、不可視属性を表すINVISIBLEが下位互換のためのコメントの形式で設定されています。

主キーのないテーブルを作成した際にGIPKが自動的に追加される様子
主キーのないテーブルを作成した際にGIPKが自動的に追加される様子

MySQL ShellのDump Loadingユーティリティにも新たにcreateInvisiblePKsオプションが追加されました。createInvisiblePKをtrueに設定してデータのロードを行うと、サーバーのsql_generate_invisible_primary_keyがOFFの場合はONに変更した上でGIPKの作成を試みます。権限が不足していてサーバー変数を変更できない場合はGIPKを作成できません。

これまでのMySQL 8.0のマイナーバージョンでもユニコードのUTF-8エンコードうち最大長が3バイトを表すキャラクタセットutf8を順次utf8mb3に変更していますが、MySQL 8.0.30ではCOLLATION(照合)がutf8mb3_*に変更となっています。なおユニコード利用時の推奨のキャラクタセットは最大長4バイトのutf8mb4となっています。utf8mb3は将来のバージョンで廃止となるため非推奨となっており、特別な理由がない場合はutf8mb3は利用しないでください。

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

毎年この時季は、秋ごろにリリースされるであろうPostgreSQLの次期メジャーバージョンの情報が気になります。しばらく前まではOSSの新バージョンリリース予定はアテにならないのが普通でしたが、最近は様変わりしました。PostgreSQLの新バージョンもいつリリースされるのか?で一喜一憂することはありません。その代わりに、内容についてじっくり腰を据えて確認できるようになりました。

PostgreSQL 15をベータ版から予習しよう

PostgreSQLの次期メジャーバージョン15は、5月に最初のベータ版(ベータ1)がリリースされ、6月30日にベータ2がリリースされました。本連載第82回ではベータ1がリリースされたことのみをお知らせしていましたので、バージョン15にどの様な新機能や改良が含まれる予定なのかを、正式リリース前に予習しておきましょう。もちろん、今後正式リリースまでの間に変更がある可能性があります。

PostgreSQL 15 ベータ1 情報

まず、5月にリリースされたベータ1で実現した新機能や改善の主なものを見てみます。

〔開発者体験に関わること〕

  • データに対して条件付きで書き込み操作を実行するMERGE文が導入
  • 従来バージョンよりも標準的なSQL/JSON関数、SQL/JSONコンストラクタやJSONデータをテーブルに変換する機能など
  • 複数の正規表現関数が追加

〔性能向上に関すること〕

  • SELECT DISTINCT文の並列化の導入
  • row_number()、rank()、count()を用いるウィンドウ関数の性能向上
  • 外部データラッパ postgres_fdwによりリモートPostgreSQLサーバ上のデータを管理するアプリケーションで、トランザクションを並行してコミット可能
  • パーティショニングされたテーブルの性能向上
  • 8kBより大きいデータを格納するPostgreSQLシステムとTOASTテーブルで、インデックスの重複排除によるルックアップの高速化

〔その他〕

バックアップとアーカイブ、データ圧縮、ロジカルレプリケーション、管理機能、セキュリティなどで多数の新機能や改善が成されています。

7月時点のバージョン15のリリースノートには、ざっと200項目以上の新機能・拡張機能・修正点が並んでいます。

篠田の虎の巻「PostgreSQL 15 Beta 1 新機能検証結果」

前節では、公式のリリースのお知らせに記された主要な項目だけをいくつかピックアップしましたが、ていねいに解説された日本語の資料を日本ヒューレット・パッカード(HPE)の篠田さんが公開されています。この資料には「主な新機能について検証した文書」だと記されていますが、それでもおよそ70項目ほどについて触れられていますし、それらがカテゴリに整理されて記述されている点が特徴です。特に以前のバージョンと非互換な事項をまとめていただいているのがありがたいと感じます。

PostgreSQL 15 ベータ2 情報

PostgreSQL Global Development Groupによるベータ2のお知らせによると、ベータ1からベータ2になる段階で次の様な追加や修正が入っています。

  • JSON_TABLE出力列でデータ型を照合する変更
  • pg_publication_tablesで列リストと行フィルターに関する情報を提供
  • 異なる列リストを持つpublicationの組み合わせを禁止
  • stringは予約されていないキーワードに
  • その他いくつかの修正

ベータ1に比べると当然ながら変更点は大幅に少なく、問題点の修正の方が多くなっています。

Postgres15への貢献(EDB)

EDB(EnterpriseDB)はPostgreSQLの開発コミュニティに貢献している主要な企業のひとつです。EDBブログの記事では、新バージョン15においてどの様な新機能や改善に関わったのかが記されています。上記のベータ1情報でも記したMERGE文もそのひとつとのこと。その他にもセキュリティやバックアップ/リカバリなどでの改善に関わっているようです。

PostgreSQL 15でコミットされた機能の先行紹介(富士通)

富士通もPostgreSQLの開発コミュニティに協力して新機能開発に貢献しています。富士通の技術者ブログでは、PostgreSQL 15に追加される予定の、スキーマ内の全テーブルの論理レプリケーションを可能にする新機能について説明しています。

これから正式リリースまでに追加される新機能はあるか?

ここで紹介したいのは、本連載の第80回でもお知らせした、日本PostgreSQLユーザ会(JPUG)高塚さんがオープンソースカンファレンス2022 Online/Springで発表された「PostgreSQL Update 2022 Spring」です。バージョン15に入りそうな新機能や改良の候補がコンパクトにわかりやすく示されています。ちょっと興味深いのが、ここで候補として上がっているものの中には、ベータ1とベータ2ではまだ組み込まれていない機能もあるらしいことです。それらが正式リリースまでに入るのかどうかが気になるところです。

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

EDBのキホン~PostgreSQL活用からOracle移行まで~

日程 2022年8月4日(木)13:00~13:30
2022年8月18日(木)10:00~10:30
場所 オンライン開催(Zoom)
内容 Oracle移行の話題で最近EDBというワードを聞くけど何が強みなの?何をサービスとしているの?そもそもOracle移行は何がメリット?どうやってやるの?無料で使えるOSS PostgreSQLとEDBの違いは?そのような疑問にこたえるウェビナーです。EDBを全く、または、あまり知らない方を対象にしています。なお、各日程は同じ内容です。
主催 エンタープライズDB株式会社

Apache Cassandraトレーニング(3コース)(有償)

日程 〔開発編〕2022年08月05日(金)10:00~17:00
〔運用編〕2022年08月12日(金)10:00~17:00
〔Read,Write編〕2022年08月19日(金)10:00~17:00
場所 オンライン開催 ⁠Microsoft Teams)
内容 〔開発編〕データ設計とはどのように行っていくのか、アプリケーション開発では実用例も交えて説明を行います。
〔運用編〕基本操作から推奨設定、監視ツールなど実運用に活かせるテクニックが満載です。Cassandra-Stressコマンドや出力された情報に関しても説明を行います。
〔Read、Write編〕Cassandraの内部動作の中で読込みロジック、書込みロジックの構成要素、動作原理を丁寧に説明し、想定される障害や通常時のモニタリング要素などの運用におけるポイントを把握することができます。
〔その他〕申込方法や参加費用などの詳細は募集ページを参照してください。
主催 株式会社INTHEFOREST

MySQL HeatWaveハンズオン

日程 2022年8月18日(木)予定
場所 オンライン(Zoom)
内容 MySQL HeatWaveの環境構築や利用方法を実践形式で学べるハンズオンイベントを開催予定です。申し込みサイトは近日公開となります。
主催 日本オラクル株式会社 MySQL Global Business Unit

MySQL Operator for Kubernetes紹介ウェビナー(仮)

日程 2022年8月29日(月)予定
場所 オンライン(Zoom)
内容 MySQL Operator for Kubernetesをご紹介するウェビナーです。MySQL OperatorはMySQL ServerとMySQL Routerで構成される高可用性構成(MySQL InnoDB Cluster)の構築・管理にフォーカスしたコンポーネントです。MySQL Operatorを活用して、クラウドネイティブなアプリケーションのより迅速な開発にお役立てください。申し込みサイトは近日公開となります。
主催 日本オラクル株式会社 MySQL Global Business Unit

MySQL Technology Cafe #15

日程 2022年8月24日(水)19:00~23:00(18:50頃接続開始)予定
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティMeeutpセミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第15回開催。KINTO テクノロジーズ株式会社でDBREを務める粟田 啓介氏を講師にお迎えし、MySQLのinformation_schema を使ったあれこれをお話しいただきます。他にもデベロッパーに人気のVisual Studio CodeからMySQLサーバーやMySQL HeatWaveを利用できるMySQL Shell for VS Codeをあわせてご紹介予定です。
主催 Oracle Code Night

CEDEC2022

日程 2022年8月23日(火⁠⁠~25日(木)
場所 オンライン
内容 CEDECはゲームを中心とするコンピュータエンターテインメント開発に携わる方を主なターゲットとした国際的なカンファレンス。オンラインで開催された2021年のイベントも7,600名以上の参加者を誇る大型イベント。MySQLのセッションとしてゲームデータの高速なリアルタイム分析をMySQL HeatWaveで実現した事例や活用案を解説予定。
主催 一般社団法人コンピュータエンターテインメント協会 ⁠CESA)

オープンデベロッパーズカンファレンス(ODC)2022 Online

日程 2022年9月3日(土)10:00~18:00
場所 オンライン開催(ZoomおよびYouTube Live)
内容 オープンソースカンファレンス(OSC)の姉妹イベントです。開発者とインフラエンジニアの交流の場として、⁠DevOps」⁠開発」⁠開発者」をキーワードに、様々な最新情報を提供いたします。MySQLのセッションではMySQL Operator for KubernetesとMySQL Shell For VS Codeを紹介予定です。セミナープログラムは8月上旬に公開される予定です。
主催 オープンデベロッパーズカンファレンス実行委員会

EDB Postgres Vision Tokyo 2022

日程 2022年9月7日(水⁠⁠~9月9日(金)10:00~21:00
場所 オンライン開催
内容 Postgresを活用してイノベーションを実現したい企業の方々のためのイベントです。⁠データを制するものは未来を制す(Own your data, own your future.⁠⁠」をテーマに、Postgresに関する最新情報がラインナップされています。
主催 エンタープライズDB株式会社

PostgreSQL Conference Japan 2022

日程 2022年11月11日(金)10:00~18:00(開場 9:30)
場所 AP日本橋(東京都,東京駅より徒歩5分)
内容 日本PostgreSQLユーザ会(JPUG)によるPostgreSQLの総合カンファレンスです。午前は基調講演などがあり、午後は複数トラックに分かれて多数の講演が設けられる予定です。8月31日締切で講演発表の募集もされています。また、スポンサーとスタッフも募集中です。参加にはチケットが必要で9月中旬から販売開始予定です。
主催 日本PostgreSQLユーザ会

おすすめ記事

記事・ニュース一覧