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

第63回OSC 2020 online/Fall開催、 MySQL 8.0.22リリース、 Kubernetesで作るPostgreSQLクラスタ環境、

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

OSC2020 online/Fall「企業ITのクラウドマイグレーションとOSSの役割」

「オープンソースカンファレンス(OSC)2020 Online/Fall」が10月23日、24日に開催されました。通常は全国各地で順番に開催しているOSCですが、今年の春からはすべてオンライン開催となっています。例年は東京の回として行われるこの開催も、今年は秋の全国大会としての位置づけにもなっています。

OSSコンソーシアムでは、恒例となりつつあるオープンソースビジネス推進協議会(OBCI)との共同企画として、企画トラック「企業ITのクラウドマイグレーションとOSSの役割」を実施しました。今回はOSSデータベースに特化したものではなくて、アプリケーションやトラブル対応など、下記のような多様なジャンルを含んだ企画となりました。

プログラム概要

《第1部 トラブルに備える》~Linux-HAとアプリケーション性能管理
企画トラックのオープニング/溝口 則行(TIS)
あなたのシステムをOSSで冗長化しよう~いつか来るシステム障害にそなえて/黒木 博(サイオステクノロジー)
Webアプリケーションのクラウド移行時の課題と対策/呉 錫嶼(ジェニファーソフト)
《第2部 アプリケーションはどうする?》~ITモダナイゼーションと認証
ITモダナイゼーションとOSS基盤/井坂 徳恭(東京システムハウス)
今更聞けない認証関連OSSの話 ~クラウド移行の観点も含めて~/今井 啓(オープンソース・ソリューション・テクノロジ)
《第3部 データベースはどうする?》~MySQLとPostgreSQL
クラウドベンダーにデータをロックインされないMySQLのクラウドデータベースの選択/梶山 隆輔(日本オラクル MySQL GBU)
クラウド時代の Pgpool-II の活用~Kubernetes におけるクエリ負荷分散とモニタリング機能を備えた PostgreSQL クラスタの構築/彭 博 ⁠ペン ボ)⁠SRA OSS, Inc. 日本支社)
《第4部 座談会》~ 企業ITのクラウドマイグレーションとOSSの役割
  • 上野 俊作(東京システムハウス)
  • 小田切 耕司(オープンソース・ソリューション・テクノロジ)
  • 梶山 隆輔(日本オラクル MySQL GBU)
  • 才所 秀明(日立ソリューションズ)
  • 溝口 則行(TIS/OBCI)
オンライン座談会の様子 上段:溝口(中⁠⁠、上野(右⁠⁠、下段:梶山(左⁠⁠、最初(中⁠⁠、小田切(右)
オンライン座談会の様子 上段:溝口(中)、上野(右)、下段:梶山(左)、最初(中)、小田切(右)

OSSデータベースの発表

上記のうち、第3部がOSSデータベースに関する発表でした。

前半はクラウドサービスでのMySQLの選択について。各種クラウドサービス事業者がマネージド型のデータベースサービスとしてMySQLもしくはMySQL互換のサービスを提供していますが、OSSのMySQLと同じとは限らない、言い換えると本物のMySQLではないものもあるので要注意という話です。

後半は、SRA OSS, Inc. 彭さんによるKubernetes環境でPostgreSQLのクラスタ環境を構築する発表です。これについては、今回記事の後半で少し紹介します。

発表資料はOSSコンソーシアムのWebサイトで公開しています。また、今回もビデオの事後公開を予定しています。公開準備ができましたら同じWebページから参照いただけるようにします。

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

2020年10月にはMySQLサーバー8.0.22、5.7.32、5.6.50の各マイナーバージョンをはじめ、MySQL NDB Clusterや各種Connector, MySQL Shell, MySQL Workbenchなどのクライアントプログラムの商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。

レプリケーション用語の変更

MySQL開発チームでは2020年7月にレプリケーションに関する用語の改訂を行いました。リファレンスマニュアルの用語の変更はすでに進んでいますが、一部のコマンドやメッセージなどは順次変更を行っています。

表1 用語の新旧対照
master source
slave replica
blacklist blocklist
whitelist allowlist

MySQL 8.0.22では以下の点を変更しています。ただし後方互換性のため、いずれの旧来の用語も非推奨ながら利用可能となっていますが、新規に作成するアプリケーションや監視スクリプトなどは新しい用語を利用することを強くおすすめいたします。

表2 レプリケーション関連コマンド
START SLAVE START REPLICA
STOP SLAVE STOP REPLICA
SHOW SLAVE STATUS SHOW REPLICA STATUS
SHOW SLAVE HOSTS SHOW REPLICAS
表3 ステータス変数
Com_slave_start Com_replica_start
Com_slave_stop Com_replica_stop
Com_show_slave_status Com_show_replica_status
Com_show_slave_hosts Com_show_replicas
表4 システム変数
group_replication_ip_whitelist group_replication_ip_allowlist

MySQL 8.0.22の新機能

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

ネットワークのネームスペースの利用
Linuxなどネットワークのネームスペースに対応したOS上でのbind_address, admin_address, mysqlx_bind_addressへのネームスペースの利用が可能となりました。
InnoDB memcached pluginが非推奨に
キーバリュー型のAPIを提供するInnoDB memcached pluginが非推奨となり、将来的に削除されることとなりました。キーバリュー型の処理が必要な場合はMySQL NDB ClusterのNDB APIを利用することで、耐障害性と水平拡張性を持ったキーバリューデータストアとして利用できます。
OCI Vaultキーリングプラグイン追加
MySQL Enterprise Editionのキーリングプラグインにkeyring_ociが追加され、Oracle Cloud Infrastructure Vault鍵管理のレポジトリとして利用可能になりました。
プリペアード・ステートメントのPREPARE処理が1度のみに
複数回PREPARE処理が行われることはなくなるため、性能向上が期待されます。
ALTER DATABASE文にREAD ONLYオプション追加
データベース(スキーマ)を参照専用にし、移行などの際にデータが変更されない状態でコピーなどが可能となります。

11月もMySQL Database Service関連のイベントやセミナーが続々

MySQL Database Serviceに関してのセミナーが11月以降に予定されています。またdb tech showcase ONLINE 2020(dbts2020)にて複数のMySQLセッションが予定されています。なお一部イベント申し込みページなどは現在準備中です。

日付 概要
11月19日(木) MySQL Database ServiceへのAmazon RDSからの移行方法
11月24日(火) dbts2020: MySQL Shellのユーティリティ dumpInstance&loadDump
11月28日(土) Open Source Conference 2020 Online/Fukuoka(内容調整中)
12月3日(木) dbts2020: MySQL on IaaSの運用あれやこれや 講師:yoku0825
12月10日(木) dbts2020: MySQLのGIS機能を使った事例紹介
12月17日(木) Oracle Developer Days 基調講演:LINE株式会社 大塚 知亮様「LINEにおけるMySQL運用の現状とバージョンアップを支える仕組み」

日本語版のWebセミナーの一覧はこちら英語版の一覧はこちらです。イベント個別の申し込みサイトは順次開設予定ですので、Twitterの@mysql_jpからの情報発信などをご確認ください。

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

9月下旬に新メジャーバージョン13がリリースされた後は、まだマイナーリリースはありません。バージョン12以前についてもマイナーリリースはありませんでした。今回は冒頭の「オープンソースカンファレンス2020 Online/Fall」で発表されたKubernetes上でPostgreSQL環境を構築する方法と、バージョン13の変更点の情報をお知らせします。

KubernetesとPgpool-IIで作るPostgreSQLのクラスタ環境

冒頭で紹介した「オープンソースカンファレンス2020 Online/Fall」の企画トラックで、彭 博 ⁠ペン ボ)さんが発表された内容を紹介します。

コンテナ管理を自動化するためのプラットフォームとしてKubernetesが注目されていることは皆さんご存知でしょう。企業ITをオンプレミス環境からクラウド環境のKubernetesに移行する企業も増えています。クラウド環境でDBサーバを稼働させる場合、クラウドサービスが提供するマネージドサービスを利用する方法と、自分たちで環境構築を行う方法があります。当然ながら前者の方が環境構築は簡単ですが、クラウド事業者にロックインされることを考慮して、後者の方法を選択するケースも少なくないようです。DBサーバをクラスタ構成にすることは、性能と信頼性確保の一般的な方法ですが、クラスタ構成を上手に手際よく構築するにはそれなりのスキルが求められます。

KubernetesにはPostgreSQLのクラスタ構成を容易に構築するためのオペレータ(さまざまな管理手順を自動化するもの)が使えますが、既存のオペレータで構築したPostgreSQL環境では、DBへのクエリを振り分ける機能がありません。そこで、ここにPgpool-IIを追加することで、クラスタ構成のPostgreSQLサーバでクエリの負荷分散も可能になります。

彭さんの発表では、Kubernetes環境にPgpool-IIをデプロイする方法、Pgpool-IIの設定内容例、構築した環境のモニタリングの仕組みまでを簡潔に示されました。講演資料(PDF)では実際に行うときのための詳細情報の参照先も示されています。

SRA OSS, Inc. 彭さんの発表の様子
SRA OSS, Inc. 彭さんの発表の様子

バージョン13での旧バージョンと互換性がない点とその他の変更点

メジャーバージョンアップであるPostgreSQL 13は、魅力的な新機能が追加されていますが、旧バージョンとは互換性がない変更もされています。DBMSのバージョンアップは、新機能や性能アップなどの魅力に対して、現在稼働しているアプリケーションへの影響が大きな懸念事項になり、結果としてバージョンアップすることに慎重になってしまう場合も多くあります。

SRA OSS Tech Blogにおいて、バージョン13が旧バージョン(基本的にはバージョン12)と互換性がない変更点を、ていねいに列挙して説明してくれています。バージョンアップを検討される方にとっては大変にありがたい味方になるでしょう。

互換性のない変更点が14項目、その他の変更点は約150項目にものぼります。まず、挙がっているカテゴリとその項目数(括弧内)を列挙しておきます。

  • 互換性のない変更点 ⁠14)
  • その他の変更点: パーティショニング(6⁠⁠、インデックス(6⁠⁠、オプティマイザ(5⁠⁠、性能一般(12⁠⁠、モニタリング(6⁠⁠、システムビュー(6⁠⁠、待機イベント(5⁠⁠、認証(2⁠⁠、サーバ設定(4⁠⁠、ストリーミングレプリケーションとリカバリ(7⁠⁠、ユーティリティコマンド(13⁠⁠、データ型(6⁠⁠、関数(18⁠⁠、PL/pgSQL(2⁠⁠、クライアントインタフェース(5⁠⁠、psql(9⁠⁠、pgbench(4⁠⁠、サーバアプリケーション(13⁠⁠、ドキュメント(3⁠⁠、ソースコード(18⁠⁠、追加モジュール(13)

互換性のない変更点について

全体をざっと見てみると、運用関連やDB/テーブルの作成の際に影響するものが約半数程度。⁠互換性がない変更点」とは言っても、PostgreSQLを利用している業務アプリケーションに書かれているSQLの挙動が変わってしまうものの数は少ない様に見受けられます。ただし、ゼロではありませんので注意が必要なことには違いありません。

そんな中で、気をつけた方が良さそうな点を挙げると、⁠PostgreSQL 8.0 より前の構文を使用して演算子クラスを定義できなくなった⁠⁠、⁠PostgreSQL 7.3 より前の構文を使用して外部キー制約を定義できなくなった」など、とても古いバージョンから互換性のために残っていたものが、いよいよバージョン13で使えなくなった点が4項目ほどあります。⁠長期間ずっと動いているから」という理由で保守されていないような部分の中に、該当する箇所が潜んでいないでしょうか。

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

引き続き新型コロナウイルス感染症への警戒が必要な状況の中、各種イベントがオンライン開催が中心になっていますが、通常開催のイベントもあります。オンラインか通常開催かにご注意ください。

db tech showcase ONLINE 2020

日程 2020年10月27日(火⁠⁠~2020年12月10日(木)火曜・水曜・木曜の午後
場所 オンライン開催
内容 データベース技術の総合カンファレンスです。MySQLのパートでも紹介したMySQL関連、PostgreSQL関連、その他のOSSデータベース関連のセッションが多数含まれています。
主催 株式会社インサイトテクノロジー

PostgreSQL Conference Japan 2020

日程 2020年11月13日(金)10:00~18:00
場所 AP日本橋(東京駅より徒歩5分)
内容 日本PostgreSQLユーザ会(JPUG)主催の、PostgreSQLの総合カンファレンスです。午前は基調講演 を含む2講演を予定、午後は3トラックにて12 講演程度が予定されています。会場での通常開催の予定となっていますが、懇親会の開催は無くなりました。チケット(一般参加5,000円、チュートリアル付8,000円)発売中ですが、参加人数制限のために早めに販売を止める可能性もあるとのことです。
主催 日本PostgreSQLユーザ会(JPUG)

MySQL Database ServiceへのAmazon RDSからの移行方法

日程 11月19日(木)
場所 オンライン開催(Zoom)
内容 MySQLの開発チームが開発、運用、サポートを行うクラウドデータベースMySQL Database ServiceのWebセミナーを開催します。今回は「MySQL Database ServiceへAmazon RDSからの移行方法」がテーマとなっています。他社のクラウドデータベースと比較して圧倒的なコストパフォーマンスのMySQL Database Serviceをぜひご利用ください。
主催 日本オラクル株式会社 MySQL Global Business Unit

SRA OSS, Inc. PostgreSQL / PowerGres ハンズオンセミナー

日程 2020年11月19日(木)15:00~17:00(12月以降も開催予定あり)
場所 SRAグループ池袋オフィスビル
内容 PowerGresの全体像を理解しつつ実際に機能を体験いただくコースです。ノートPCを持参すると、インストールや設定を行うことができます。
主催 SRA OSS, Inc.

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

日程 2020年11月28日(土⁠⁠ 10:00~18:00
場所 オンライン開催
内容 オープンソースカンファレンスは、オープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催していますが、2月以降はオンライン開催になっています。今回はオンラインであるメリットを活かして全国から講師を募り、参加者も全国から集まることが期待されています。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。
主催 オープンソースカンファレンス実行委員会

Oracle Developer Days - 最新DBテクノロジー

日程 12月17日(木)
場所 オンライン開催(Zoom)
内容 Oracle Developer Days は IT に携わる全てのエンジニアの皆様を対象に、最新技術情報や業界の最新トレンドを入手できる場としてご活用ください。12月17日は「最新データベーステクノロジー」をテーマにお届けします。Oracle Developer Days は IT に携わる全てのエンジニアの皆様を対象に、最新技術情報や業界の最新トレンドを入手できる場としてご活用ください。2日目の12月18日は「最新のクラウドテクノロジー」をテーマにお届けします。
  • 【基調講演】LINEにおけるMySQL運用の現状とバージョンアップを支える仕組み
  • データの価値を引き出すアプリ開発を実現するOracle Databaseの最新テクノロジー
  • アイデアからアプリケーションへ、光の速度で実現する環境
  • Oracle Cloud InfrastructureでMySQL Database Serviceが登場!
主催 日本オラクル株式会社

おすすめ記事

記事・ニュース一覧