この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。
[MySQL]2021年5月の主な出来事
2021年5月のMySQLの製品リリースは、MySQLサーバー 8.0.25の緊急リリースでした。対象の問題はMySQL 5.7では影響が無いためリリースは行われていません。MySQLサーバー 8.0.25の各マイナーバージョンをはじめ、バージョンを揃えるために問題が無いMySQL NDB Clusterや各種Connector, MySQL Shell, MySQL Workbenchなどのクライアントプログラムの商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップ が行われました。
なおMySQL 5.6は1月にリリースされた5.6.51が最終のメンテナンスリリース となり、今後はごく例外的な状況を除いてセキュリティパッチなども提供されなくなりますので、ご利用中の方はMySQL 8.0などへのバージョンアップをご検討ください。
MySQL 8.0.25での変更点
MySQL 8.0.25がリリースされたのは、Bug # 103192で報告された「プリペアードステートメントにて集計関数が使用された場合に結果不正となる場合がある」件の修正が主な理由です。
また同時にリリースされたMySQL Shell 8.0.25では、MySQLインスタンス全体や個別のテーブルをダンプおよび高速なロードを行うためのユーティリティ の重要なバグがいくつか修正 されています。
MySQL 8.0へのバージョンアップ
MySQL 8.0へのバージョンアップ手順やバージョンアップ時の注意事項については、MySQL 8.0 リファレンスマニュアル でも解説されていますが、日本オラクルのMySQLチーム主催のWebセミナーでも解説されており、手順や注意点をまとめた資料が他のセミナー資料とあわせて公開 されています。
こちらの資料でも、第59回 でご紹介した日本MySQLユーザ会の代表であるとみたまさひろさんが公開されている、MySQLのバージョンごとの設定などを比較するツール についても重要なツールとして紹介されています。
[PostgreSQL]2020年5月の主な出来事
今回は、PostgreSQLエンタープライズ・コンソーシアム(PGECons)の年度成果の発表セミナーを中心にお伝えしますが、その他に次のメジャーバージョンであるPostgreSQL 14のベータ版の初登場や、既存のサポート済みバージョンのアップデートもありました。
PostgreSQLエンタープライズ・コンソーシアムが2020年度活動成果を公開し成果発表セミナーを開催
今年もPostgreSQLエンタープライズ・コンソーシアム(PGECons)から活動成果が公開 され、あわせて5月27日に成果発表セミナーも開催されました 。今年のセミナーも昨年と同様にオンライン開催となりました。成果発表セミナーが通常の会場開催される年にはセミナー後は関係者で盛大に打ち上げの懇親会を行っていましたが、残念ながら今年も懇親会はおあずけです。
PGEConsは、技術部会の中の3つのワーキンググループ(WG)が技術的な検証活動などを行っており、他に広報部会とCR(Community Relations)部会があります。3つのWGからは毎年のように密度の濃い調査・検証成果が発表されていて、PostgreSQLに関心があるエンジニアにとっては貴重な情報源になっています。今年の成果発表セミナーも150名以上のエントリがあったようです。
冒頭、理事長の西村剛さん(NTT)からPGEConsが10年目を迎えたことや、この10年でエンタープライズITへの適用が進んだこと、クラウド環境へのシフトが進んだことなどが紹介されました。PGEConsのこれまでの9年度分の活動成果は全て公開されており、膨大な蓄積になっています 。
以下に、各部会、WGから発表された活動成果の概要を紹介しますが、多数のテーマでかつ密度の濃いものばかりですので、ここで詳しく紹介することは叶いません。すでに公開している発表スライドをご参照いただき、さらに詳しく知りたい方は成果報告書本編 を参照いただくのが良いでしょう。
AzureのマネージドRDBサービス
Microsoft Azureでのマネージドサービス(PaaS)としてのPostgreSQLの調査・検証結果が、課題検証WG(WG3)の永井光さん(日鉄ソリューションズ)と、毛呂良寛さん(ヤマトシステム開発)から発表されました。もっとも注目すべきポイントは、まもなく一般公開(GA)になるであろう“ FlexibleServer” という名称のPostgreSQLサービスの優れた性能特性でしょう。現在、AzureのPostgreSQLサービスは、SingleServerと、Hyperscale(Citus)という2種類があります。これらについては2019年度の成果で報告されています。PGEConsはMicrosoftの協力のもと、新しいFlexibleServerの検証を行っています。結果はたいへん良好で、CPU等のサーバリソースの増加にあわせて性能がスケールするようになります。FlexibleServerが一般公開になった後は、高性能を求めるケースであればこれ一択でいいのではないかとの意見も出ていました。
PGEConsでは、クラウド事業者のマネージドサービスとしてのPostgreSQLをここ数年間検証してきていますが、AWSにしてもAzureにしても、毎年の進歩に目を見張るものがあります。
AzureのマネージドRDBサービスを報告する永井光さん
PostgreSQL 13の性能傾向
PostgreSQLは毎年メジャーバージョンアップが出ています。2020年にリリースされてこの連載でも何回か取り上げてたバージョン13が現在の最新です。バージョンアップに期待することのひとつが性能向上ですが、果たしてバージョン13の性能特性はどうなっているのかを検証した結果です。新技術検証WG(WG1)の正野裕⼤さん(SRA OSS)と湯村昇平さん(NECソリューションイノベータ)から発表されました。
バージョン13.2を、ひとつ前のメジャーバージョンである12.6と比較した結果、性能的にはほとんど変わらないことがわかりました。もっとも、クライアントからの接続多重度が192までの結果なので、それ以上に負荷を上げた場合には同じかどうかは不明とのことです。
また、新旧バージョン対決ではなく、同じバージョン13でWindowsサーバとLinuxサーバとで比較した場合は、少しだけLinuxの方が性能が良い結果になっています。これは参照系処理よりも更新系処理の方が差が大きく、OSが提供するファイルシステムの違いに起因するのでは無いかと推測しているとのことでした。
パラレルクエリ検証
上記と同じく新技術検証WG(WG1)が実施したもうひとつのテーマであるパラレルクエリの検証結果が、近藤太樹さん(NECソリューションイノベータ) 、坪井新治さん(NEC) 、上原一樹さん(NTTテクノクロス)から発表されました。
パラレルクエリとは、1つのクエリ(処理要求)を複数のプロセスに分割して並列実行することで高速化を図るものですが、並列実行すれば常に早くなるというわけでもないのが悩ましい点です。机上で考えるだけでは解決しないので、実機での検証成果が知見の積み上げに役立ちます。
今回実施した検証では、スタースキーマベンチマーク(SSB)と呼ばれるベンチマークテストを使っています。SSBは複数のパターンのクエリを含んでいて、パターンごとの性能の違いを比べることが出来ます。パラレルクエリを使わない場合と使った場合で、大きく性能が向上するパターンもあれば、あまり変わらないパターンもありました。インデックスの使い方などによってパラレルクエリの効き方が変わることは仕組みを理解していれば予想はできるようですが、簡単ではないでしょう。
さらに難儀になってくるのが、テーブルパーティショニングとパラレルクエリを併用した場合です。両方が性能向上に効いてくれれば申し分ないのですが、性能に影響する要因がはるかに複雑であり、性能が向上する場合もあれば、逆に劣化してしまうケースもあります。どういうケースに性能向上し、どういうケースに劣化するのかのパターンが明確になれば良いのですが、現状では未解明の部分が多く判断できる状態では無さそうです。うかつに手を出すと火傷をしそうにも思いますが、今後、知見が積み上がって判断できるようになることを期待したいと思います。
移行WGの3つの成果
移行WG(WG2)はPGEConsが発足してからずっと継続して活動してきているテーマです。異種DBMSからPostgreSQLへの移行(乗せ替え)がメインテーマでしたが、それ以外のいろんな移行を取り上げてきています。今回もちょっと目先を変えた興味深い“ 移行” ネタが、黒澤彰さん(NECソリューションイノベータ) 、毛塚賢一さん(日本電子計算) 、岩田彩さん(富士通) 、多田明弘さん(富士通Japan)から発表されました。時間の都合もあり、どの様な移行テーマを取り上げたかの概要説明が中心でしたので、関心のあるテーマについては成果報告書本編を紐解いてみてください。
[アプリケーション移行]
DBMSが動いただけではITシステムが完成しないのは当然です。一緒に移行しないといけないアプリケーションについての移行ノウハウのひとつとして、Javaアプリケーションフレームワークの情報整理をしています。
[チューニング編の情報更新]
以前にDB移行に伴う性能チューニングのノウハウを成果として出していました。既存の成果はPostgreSQLのバージョンが9.3の頃のものであり、すでにサポート切れになっているバージョンです。今回、最新のバージョン13に合わせて内容を一新しました。
[Oracleエンジニア向けのPostgreSQL自習書]
「エンジニア本人もPostgreSQLに“ 移行” しよう」という、人を移行のテーマにしたものです。たとえば、エンジニアがOracleDBの運用に必要なRMAN(Recovery Manager)を知っているなら、それを前提にしてpg_rmanを理解してもらおうという考え方でまとめている様です。まずはこの自習書を取っかかりにすれば効果的に学習できそうです。
CR(Community Relations)部会
CR部会は、グローバルなPostgreSQLそのものの開発コミュニティと、日本のPostgreSQL関係者の橋渡し役となるべく活動している部会です。このCR部会の紹介と近況について、CR部会の石井達夫さん(SRA OSS)から発表がありました。ここでは橋渡し役と書きましたが、要望を伝えたり、双方の課題を整理したりといった連絡チャネルとしての活動もありますが、それに留まらずに具体的な機能改善・機能追加の活動に踏み込んでいる面もあります。その一例が、IVM(Incremental View Maintenance)と呼ばれる機能の追加です。
IVMはマテリアライズドビューの更新を高速に行う機能で、現状のバージョン13までではまだ実装されていない新機能になります。“ ちょっとしたパッチ” というようなレベルではなく、開発物はそれなりの規模になっている模様です。そのため海外のユーザからもIVM機能に期待する声が上がってきているものの、機能自体の大きさのために残念ながら次期メジャーバージョン14には載せることができずに積み残しとなった様ですが、次のタイミングには期待できるでしょう。
CR部会の説明をする石井達夫さん
2021年度活動計画
最後に、運営委員会の本間冴佳さん(NEC)から、2021年度の活動計画について発表がありました。今年度の活動の本格的なスタートはこれからです。PGEConsでは一緒に活動に参画してもらえるメンバを募集中しています。
次期メジャーバージョン14のベータ版が初登場
5月20日、PostgreSQL Global Development GroupからPostgreSQL 14の最初のベータ版がリリースされました 。2021年後半の正式リリースに向けて、これから数回のベータ版がリリースされる予定です。本連載でもバージョン14に含まれる新機能や改善点などを順次お知らせしていく予定です。
現在サポート中のバージョンのマイナーバージョンアップ
PostgreSQLの13.3、12.7、11.12、10.17、9.6.22もリリースされました 。3つのセキュリティ修正の他、多数の改善が含まれています。セキュリティ修正の概要は日本PostgreSQLユーザ会(JPUG)にも要約情報が掲載されています 。詳細やその他の情報は公式情報をご参照ください 。
2021年6月以降開催予定のセミナーやイベント、ユーザ会の活動
日程
2021年6月22日(火) ~23日(水)〔米国東部標準時間〕
場所
オンライン開催
内容
PostgreSQLの機能拡張版を提供しているEDB(旧Enterprise DB)が毎年開催しているイベントで、今年もオンライン開催になりました。そのため日本からも参加しやすくなっています。
主催
EDB
日程
〔Online/Hokkaido〕2021年6月26日(土)10:00~18:00
〔Online/Kyoto〕2021年7月30日(金) ~7月31日(土)10:00~18:00
場所
オンライン開催
内容
オープンソースカンファレンスはオープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催していますが、2020年の春以降はオンライン開催になっています。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。Hokkaidoはまもなくプログラムが公開される予定です。Kyotoは6月21日まで出展者募集中です。
主催
オープンソースカンファレンス実行委員会
日程
2021年6月29日(火)14:00~15:30
場所
オンライン開催
内容
OSS-DB Exam Silver の出題範囲の「運用管理」から、PostgreSQLを利用する上で必須の知識でもある「設定ファイル」について、実際に運用する上でのポイントを交えて解説されます。
主催
LPI-Japan
日程
2021年7月8日(木)15:00~17:00(9月にも開催予定あり)
場所
SRAグループ池袋オフィスビル
内容
PowerGresの全体像を理解しつつ実際に機能を体験いただくコースです。ノートPCを持参すると、インストールや設定を行うことができます。
主催
SRA OSS, Inc. 日本支社