この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。今回は8進数で数えれば第“ 100” 回の記念回です。今後ともよろしくお願いします。
OSSコンソーシアムのセミナー発表など
今回はOSSコンソーシアムが関与したイベントやセミナーの新しい報告はありませんが、過去にオープンソースカンファレンスなどで行ったセミナーの一部はYouTubeで公開しています。OSSコンソーシアムのYouTubeチャンネル「OSSCons.JP」 に整理して掲載してありますのでご活用ください。今後もコンテンツを増やしていく予定ですので、チャンネル登録していただけるとありがたいです。
[MySQL]2020年11月の主な出来事
MySQLをベースとしたクラウドデータベースMySQL Database Service に、新たなる機能として分析処理を高速化するMySQL Analytics Engine(正式名称MySQL Database Service Analytics Engine)が追加されました。MySQL Analytics Engineはオラクルの研究開発部門Oracle Labsでの大規模データ分析インメモリ基板を開発するProject RAPID の成果をMySQL Database Serviceに統合した機能です。
MySQL Analytics Engineは、Oracle Cloud Infrastructure(OCI)上のMySQLサーバーに分析エンジンサーバー群となる分析クラスターを追加した構成です。アプリケーションからはMySQLサーバーに通常のSQL文を実行すると、MySQLサーバー内のオプティマイザーが「重い」と判断した処理を分析クラスターに自動的に渡して処理をさせます。処理結果はMySQLの結果セットとしてアプリケーションに返されるため、アプリケーション目線では分析クラスターが存在するかを意識する必要は一切ありません。トランザクションの変更点は自動的に分析クラスターに同期されて、参照時のデータの一貫性が保たれています。
図1 MySQL Analytics Engineのアーキテクチャ
(※元画像:https://dev.mysql.com/doc/mysql-analytics/en/images/mysql-analytics-architecture.png )
2019年のOracle OpenWorldではメルカリでの性能検証が発表 され、開発中のMySQL Analytics EngineでもGoogle BigQueryに対しても数十倍、同社がオンプレで利用しているMySQLに対して数千倍の性能改善を見せたことが公表されていました。
多くのMySQLユーザーはレプリケーションを利用しており、そのうちの1台をMySQL Analytics Engineを組み合わせたMySQL Database Serviceにすることで、レポーティング処理や分析処理を大幅に性能改善することが期待できます。この場合でもアプリケーション側ではSQL文は変更せず接続先を切り替えるだけで済み、もとの環境に戻すことも簡単です。
またすべての処理をMySQL Analytics Engineに集約することで、更新処理も参照処理も同一のデータストアで処理でき、これまで以上に高速な性能が期待できます。
図2 MySQL Analytics Engineの利用構成案
[PostgreSQL]2020年11月の主な出来事
会場での集合開催が実現したPostgreSQL Conference Japan 2020の状況をお知らせします。また、全バージョンが対象になる脆弱性情報とその修正バージョンがリリースされていますのでそちらにもご注意ください。
PostgreSQL Conference Japan 2020開催
日本PostgreSQLユーザ会 主催の秋の恒例イベント「PostgreSQL Conference Japan」が今年も開催されました 。COVID-19の対策を取り、会場での集合開催が実現しました。スタッフのみなさまの入念なご準備に感謝します。今回は恒例の懇親会はさすがに開催無しとなりましたが、来年は懇親会を含めてフルスペックでの開催を願っています。
参加証を兼ねたロゴ入りマスク
カンファレンスの構成は、午前は基調講演、午後はチュートリアルトラックと2トラックでの各種発表です。今回も先進的な取り組みを紹介する技術発表や、DBエンジニア目線での興味深い話が多数発表されました。ここでは筆者が聴講したものからいくつかを報告します。
BDR: Advanced Clustering & Scaling for PostgreSQL
今年9月にEDB(旧EnterpriseDB)の一部門となった、2ndQuadrantのSimon Riggs氏によるPostgres-BDRの紹介講演です。BDRは“ Bi-Directional Replication” の略で直訳すれば“ 双方向レプリケーション” ですが、複数台のDBサーバで更新処理を実行できることが可能になるので、マルチマスタレプリケーションのシステムと表現されることが多いようです。更新処理も含めた性能拡張性や、高い耐障害性が実現できます。マルチマスタを構成する各サーバノードでの更新は非同期で複製され、結果整合性(eventually consistent)と呼ばれる一貫性モデルによって整合性が確保されることになります。したがって、単一サーバや単一マスタ構成のものを、すべて単純に置き換えられるというわけではありません。しかし、大規模かつミッションクリティカル領域でのPostgreSQLクラスタ構成の選択肢のひとつとなっていくことが期待されます。講演後の質疑応答にて、32ノード構成での動作を確認していることや、オンプレミスとクラウドでのハイブリッド構成でも利用可能であることなどが補足されました。
なお、PostgreSQLエンタープライズコンソーシアム(PGECons)が2016年の成果の「レプリケーション調査編」の中でBDRを調査し報告しています 。少々古い情報ではありますが、ストリーミングレプリケーションと並べて解説していますので、特徴を把握しやすいのではないでしょうか。
GPUが拓く地理情報分析の新たな地平 ~GPU版PostGISと位置ゲームを使った検証~
GPUを使ってPostgreSQLを高速化する拡張モジュールPG-Stromを開発されているHeteroDBの海外浩平さんによる発表です。GPUでDBエンジンを高速化するというだけでもエンジニアの好奇心がくすぐられますが、この発表はこれを使ってPostGISを高速化する話です。PostGISは地理情報システム(GIS:Geographic Information System)をPostgreSQLで実現するものです。GISが扱う地理情報(座標情報)では、多角形の包含や交差などの独特の演算が必要になりますが、多量のデータでこれらの演算を行うのは性能的にたいへんなことだそうです。1時間弱の講演の中で、GPUの特徴の活かし方から、地理情報の演算の面倒さや面白さなどをわかりやすく説明されていました。海外さんはオープンソースカンファレンスなどでも積極的に登壇されています ので、今回のカンファレンスに参加できなかった方も他の機会を探してみてください。
Pgpool-II徹底入門 ~クラウド時代のPgpool-IIの活用および新バージョン4.2のご紹介~
PostgreSQLサーバをクラスタ構成にする際の定番ツールである Pgpool-II についての SRA OSS, Inc.日本支社による講演です。石井達夫支社長からはPgpool-IIで実現できることの概要が説明されました。その後、Pgpool-IIの開発者あり、本連載前回に紹介した 彭博(ペン・ボ)さんからAmazon Auroraでクラスタ構成にする際のPgpool-IIの使い方などについて紹介がありました。石井さんと彭さんの発表資料はSRA OSS, Inc.のWebサイトで公開されています 。
Project Tsurugi(劔)の現状報告
Project Tsurugi(劔)は、国産の新DBエンジンを開発するプロジェクトです。PostgreSQLの皮(インタフェース)を被った、強力なDBエンジンをめざして開発が進んでいます。8月のオープンソースカンファレンスOnline/Kyotoの企画トラックでも概要を発表いただきました(本連載第62回 )が、10月27日に、このプロジェクトに参画されている民間と大学の関係者が揃って発表されるイベントが開催されました 。ノーチラス・テクロノジーズとNECや大学が進めているDBエンジンの研究開発状況だけではなく、高速化の研究や、適用アプリケーションまで、たいへんに高密度な報告会となりました。適用アプリケーションでは、大規模な部品表(BOM:bill of material)を扱うバッチ処理、国立天文台による天文データの処理、航空写真を使った災害対策への適用などを検討されている様です。DBエンジンへの技術的興味の他に、有用性に関心がある方にも気になる情報がありました。
この報告会の発表資料はほとんどが公開されています ので、参加できなかった方は資料をご参照になると良いでしょう。
バージョン13を含む全バージョンのセキュリティ脆弱性修正を含むアップデート
9月にリリースされた新メジャーバージョン13を含め、サポート対象のすべてのバージョンに対してマイナーバージョンアップがありました 。今回、3件のセキュリティ脆弱性に対応する更新が含まれています。重大な問題も含まれており、極力早めに更新をすることが推奨されています。なお、修正版がリリースされているのはサポートされているバージョンだけですが、3件ともに極めて古くから存在する問題なので、サポート対象から外れた古いバージョンにもこの問題が存在するだろうとのことです。以下に修正された問題の概要を説明します。詳しくはオリジナルの文書 を参照してください。また、日本PostgreSQLユーザ会のページにも簡単な説明が記されています 。
CVE-2020-25695: Multiple features escape "security restricted operation" sandbox
セキュリティ的に操作を制限するサンドボックスを回避してしまう機能が存在していた問題です。攻撃者が1つ以上のスキーマに対して非一時オブジェクトを作成する権限を持っている場合、任意のSQL関数をスーパーユーザ権限で実行できてしまいます。今回の修正版を早急に適用することが推奨されますが、それが不可能な場合の脆弱性の回避策が示されています。
CVE-2020-25694: Reconnection can downgrade connection security settings
PostgreSQLサーバに接続するいくつかのクライアントアプリケーションにおいて、セキュリティに関連する再接続のオプションパラメータが無視されてしまって接続が脆弱になるケースがあります。影響を受けるクライアントアプリケーションを、セキュリティ関連のパラメータを含む接続文字列で呼び出す場合に発生します。
CVE-2020-25696: psql's \gset allows overwriting specially treated variables
psqlの変数を設定する \gset コマンドが、挙動を制御する特殊な変数も上書きできました。psqlによって悪意あるサーバにアクセスしてしまった場合に、psqlを実行しているOSのアカウント権限で任意のコードを実行されてしまう問題がありました。
バージョン9.5についての注意
上記と同じお知らせ の中で、バージョン9.5がまもなくサポート終了になる旨の注意喚起もされています。9.5は2021年2月11日予定のリリースが最終となり 、それ以降は修正版が提供されなくなります。
2020年12月以降開催予定のセミナーやイベント、ユーザ会の活動
引き続き新型コロナウイルス感染症への警戒が必要な状況の中、各種イベントがオンライン開催が中心になっていますが、通常開催のイベントもあります。オンラインか通常開催かにご注意ください。
OSSコンソーシアム恒例新年会は開催取りやめ
OSSコンソーシアムでは、非会員の方たちも参加可能な新年会を毎年恒例で開催していました。これは、OSSに取り組まれていたり関心をお持ちの方たちのネットワーキングの一助としていただくためのイベントですが、2021年の新年会は開催を取りやめることといたしました。楽しみにされておられた方たちには申し訳ございませんが、ご容赦ください。
日程
2020年12月17日(木) 13:00~
場所
オンライン開催
内容
Oracle Developer Days は IT に携わる全てのエンジニアの皆様を対象に、最新技術情報や業界の最新トレンドを入手できる場としてご活用ください。初日の基調講演ではLINE株式会社の大塚知亮氏による「LINEにおけるMySQL運用の現状とバージョンアップを支える仕組み」を予定しています。またMySQL Analytics Serviceの技術情報をいち早くお届けいたします。
主催
日本オラクル株式会社
日程
2020年12月17日(木)15:00~17:00(1月以降も開催予定あり)
場所
SRAグループ池袋オフィスビル
内容
PowerGresの全体像を理解しつつ実際に機能を体験いただくコースです。ノートPCを持参すると、インストールや設定を行うことができます。
主催
SRA OSS, Inc.
日程
2020年12月19日(土) 10:00~18:00
場所
オンライン開催
内容
オープンソースカンファレンス(OSC)の姉妹イベントで、「 開発」「 開発者」をキーワードに様々な最新情報を提供します。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。
主催
オープンデベロッパーズカンファレンス実行委員会
日程
2021年1月30日(土)10:00~18:00(2020年12月17日まで出展者募集中)
場所
オンライン開催
内容
オープンソースカンファレンスは、オープンソースの「今」を伝える総合イベントとして、東京だけでなく、北は北海道、南は沖縄まで全国各地で開催しています。2020年の春以降はオンライン開催になっています。OSSデータベース関連のセミナーについては公開されるプログラムをご参照ください。セミナープログラムは1月上旬に公開される予定です。OSSコンソーシアムのデータベース部会もセミナー参加を予定しています。
主催
オープンソースカンファレンス実行委員会
日程
2020年12月10日(木)09:00~12:00
( connpass申込み締め切り:12月9日(水)16:00)
場所
オンライン開催(Zoomミーティング)
内容
NoSQLのデータベース Apache Cassandra の最新情報をお伝えするイベントです。最近リリースされた4.0-beta3を含めて最新のApache Cassandraの情報をお伝えします。
主催
日本Cassandraコミュニティ