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

第51回「企業ITシステムのモダナイゼーションとデータベース最新状況」報告、MySQL 8.0.18リリース、PostgreSQL 12リリース

この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。今回、OSC.Enterpriseでの特別セミナーの報告をします。また、MySQL 8.0.18がリリースされ、PostgreSQLはメジャーバージョン12が正式にリリースしました。

OSC 2019 .Enterpriseでの特別セミナーの報告(発表資料公開あり)

前回お知らせのとおり、私たちOSSコンソーシアムは、10月10日(木)に東京の渋谷で開催されたオープンソースカンファレンス(OSC)2019.Enterpriseに出展しました。今回は、オープンCOBOLソリューション部会とデータベース部会が担当し、特別企画セミナーを実施。ほぼ満席となる多くの方にご参加いただきました。

開催概要『企業ITシステムのモダナイゼーションとデータベース最新状況 ~ もちろんOSS視点で ~』

このセミナーはOSSコンソーシアムとオープンソースビジネス推進協議会(OBCI)の共同企画です。企業ITに使えるOSSの最新状況をお伝えすることを狙っており、今回はITモダナイゼーションの観点から、opensource COBOLでのOSSデータベース接続やDockerコンテナ対応の話と、代表的なOSSデータベースの最新情報をパッケージにしました。企業ITシステムのプラットフォーム選択の一助としていただけたのではないかと思っています。

セミナー講演者(東京システムハウス 井坂氏:左上、日本オラクル 稲垣氏:右上、SRA OSS Inc. 北山氏:左下、MongoDB 有延氏:右下)
セミナー講演者(東京システムハウス 井坂氏:左上、日本オラクル 稲垣氏:右上、SRA OSS Inc. 北山氏:左下、MongoDB 有延氏:右下)

ITモダナイゼーションとOSSデータベース

[講師:井坂徳恭さん(東京システムハウス、OSSコンソーシアム オープンCOBOLソリューション部会⁠⁠]

プログラミング言語のCOBOLに関わっている方は、企業ITの世界では少なからずいるものの、割合としてはそれほど多くないのも事実です。しかしちょっとだけ大局的な視点に立つと、過去のソフトウェア資産を新しいプラットフォームに移行しなければいけないケースは、COBOLに限りません。ITモダナイゼーションの課題はCOBOL以外でも継続して残り続けるでしょう。今回の発表はその様なITモダナイゼーションを考える方にヒントを与えてくれたのではないかと思います。

今回の企画は全体としてはデータベースに寄ったものでしたので、まず最初にopensource COBOLとはどういうものかが紹介され、それからDBアクセスの手法と、COBOLを稼働させるコンテナ環境の紹介がありました。以下、発表内容からDBアクセスの手法について簡単に紹介します。

opensource COBOLでは、⁠EXEC SQL」という構文を持っていて、COBOLプログラムの中にSQLが直接記述できます。このSQL構文はプリコンパイラによって処理されて、DBアクセス関数に変換されで実行されます。PostgreSQLでもC言語での埋め込みSQLのプリコンパイラ機能がありますが、COBOLで実現する手段は存在しなかったため、Open COBOL ESQL 機能を開発したそうです。

また、従来のCOBOLアプリケーションではリレーショナル型ではなくて、階層型やネットワーク側のDB構造がよく使われてきました。opensource COBOLではこれらのデータ構造の移行手段として、MongoDBやOrientDBなどNoSQLへのアクセス手段も用意しようとしているとのことです。古いCOBOLと新しいNoSQLが、意外なところで相性の良さを見せるのかもしれません。

OSSコンソーシアム オープンCOBOLソリューション部会では、ここで紹介したopensource COBOLの拡張機能開発やパッチ作成、情報発信をしていますので、関心を持たれた方はアクセスしてみてください。

MySQL Update

[講師:稲垣大助さん(日本オラクル MySQL GBU⁠⁠]

MySQLが登場して24周年、PostgreSQLと並んで定番中の定番ですが、今でもどんどん改良が続くMySQLが変化しつづけている状況が、わかりやすく簡潔に説明されました。この連載をご覧いただいている方は、MySQLが頻繁にアップデートされていることはご存知とは思いますが、まとめて聞くとそのスピードに驚かされます。

今回の発表では2018年4月にリリースされた8.0.11からスタート。その後、3ヵ月に1回かそれ以上の頻度でアップデートを繰り返して、このセミナー時点で8.0.17。各リリースで多数の改良点が加えられていることを考えると、18ヵ月間の7回のリリースでものすごい変化を達成しています。

本連載ではMySQLの最新情報が毎月記載されてきていますので、ここでは個別のリリースの詳細に踏み込むことは省略します。後述のMySQLの章では、さらに次の8.0.18について解説しています。

PostgreSQL 12新機能紹介

[講師:北山貴広さん(SRA OSS Inc. 日本支社、OBCI⁠⁠]

このセミナー直前の10月3日に、新メジャーバージョンPostgreSQL 12が正式リリースとなりましたので、そのバージョン12の新機能や注意点の要約が説明されました。過去のこの連載でも取り上げた大規模パーティションでの性能向上は、やはり注目すべき改良点です。その他に、旧バージョンから仕様が変更された点もあるので要注意です。

今回はメジャーバージョンアップなので、新機能も多数含んでおり、仕様が変わった点もあります。基本的にはPostgreSQLでは、安定的で管理されたリリースが重視されています。新機能や仕様変更は今回の様なメジャーバージョンアップで実現され、マイナーバージョンアップはバグフィックスや小さな改良が中心になります。このあたりの考え方や方針がプロダクトによって異なることは知っておくべきでしょう。

MongoDB Update

[講師:有延敬三さん(MongoDB⁠⁠]

データベース比較セミナーなどの私たちの企画セミナーでは、MongoDBは初登場でした。まず、MongoDBの概要が簡単に紹介されました。MongoDBはドキュメント型に分類されるNoSQLです。世界で人気のあるDBMSランキングでは盤石のトップ3を追い上げ中で、PostgreSQLと共に第2グループに入っています。NoSQLカテゴリでは文句なしの1位です。

昨今ではJSON型データを扱えることが世の趨勢になっているようで、前述のMySQLやPostgreSQLでもJSON型についての説明が必ずといっていいほど入ってきます。MongoDBはJSON型に特化したDB(いわば専門家)で、いわゆるハイブリッド型としてJSON型も持っているのではありません。JSON型データを扱うのであれば、MongoDBが得意分野だと言えるでしょう。

発表スライド資料の公開

上記では概要のみ紹介しましたので、発表内容にご関心を持たれた方に向けて、発表スライド資料の公開を許可いただきました(一部割愛したページもあります⁠⁠。OSSコンソーシアムのWebサイトにコンテンツまたはリンクを掲載していますので、アクセスしてみてください。

なお、前々回と同様にちょっとフライング気味の情報ですが、この特別企画セミナーについては講演のビデオを公開できそうです。現在、公開に向けて関係者と調整中&コンテンツ制作中です。可能になった場合は上記のOSSコンソーシアムWebページで公開しますのでご期待ください。

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

2019年10月はMySQLサーバー8.0.18をはじめ、商用版およびコミュニティ版のほぼ全ての製品のマイナーバージョンアップが行われました。10月3日には、ゲーム業界向けのMySQLセミナーが開催され、MySQLの最新動向に加えてOracle CloudやGraalVMのご紹介、事例としてスクウェア・エニックス、グリー、f4samurai, LINEという豪華ラインナップのイベントでした。

SSLライブラリのOpenSSLへの統一

10月にリリースされたMySQL 5.7.28と5.6.46のコミュニティ版はTLS/SSLライブラリとしてOpenSSLのみがサポートされることとなりました。これまで利用されてきたyaSSLを使ってのコンパイルはできなくなっています。なお、MySQL 8.0では8.0.4 RCからコミュニティ版のMySQLサーバーに同梱されるライブラリがyaSSLからOpenSSL に変更され、スタティックリンクからダイナミックリンクとなりました。

商用版は以前のメジャーバージョンからOpenSSLを利用していましたが、コミュニティ版はGPL v2とOpenSSLライセンスの互換性の問題からyaSSLを採用していました。OpenSSLの採用に伴い、コミュニティ版のライセンスはOpenSSLに関する例外条項付きのGPL v2となっています。

MySQL 8.0.18の新機能

MySQL 8.0.18の主な新機能は下記の通りです。

ハッシュ結合(Hash JOIN)のサポート
複数のテーブルのインデックスのない列どうしの等価結合の際に選択されるアルゴリズムとしてHash JOINがサポートされました。特に対象のデータ量が大きい場合にネステッド・ループ結合と比較して処理性能の向上が期待できます。
ハッシュ結合の利用にあたってはJOINバッファのサイズを設定するMySQLサーバーのパラメタ join_buffer_size が重要となります。結合するテーブルのうち最小のものの列のハッシュ値をメモリ上に格納し、他のテーブルのレコードのマッチングをメモリ上で完結させます。しかしハッシュ値となったデータのサイズがJOINバッファのサイズを超えてしまうと、JOINバッファに納まらなかったデータはディスク上に置かれるため、性能面で不利になります。
ヒント句(HASH_JOIN または NO_HASH_JOIN)でハッシュ結合の利用の有無を指定することもできます。
EXPLAIN ANALYZEの追加
オプティマイザによる実行計画の詳細を確認できるEXPLAIN ANALYZEが追加されました。クエリのコストや推定される結果行数に加えて、最初と最後の結果が戻されるまでの推定レイテンシ、イテレーターやループの情報などが出力されるようになります。

ゲーム業界向けのMySQLセミナー

こちらのイベントで登壇された、オンラインゲーム展開する4社の事例をご紹介します。

株式会社スクウェア・エニックス 野島 貴英様
「MySQL 8へのバージョンアップの愛をアジアのコミュニティで叫んでみた」というテーマで、スクウェア・エニックスのスマートフォン向けやPCブラウザ向けのオンラインゲームのインフラをMySQL 8.0にバージョンアップする過程をご紹介いただきました。あわせて野島様を含めた同社のインフラエンジニアの方々がOracle OpenWorldや台湾のCOSCUP, シンガポールのFOSSASIAなど海外イベントで講演された経験を共有していただきました。
グリー株式会社 瀬島 貴則様
「InnoDBのすゝめ 」のテーマでゲームインフラ向けのMySQL活用ノウハウを多数ご紹介いただきました。ゲームインフラを長年支えてきたからこそのTipsや、カジュアルにMySQLサーバーのソースコードレベルでの話になるなど瀬島様ならではのディープなセッションで、30分ではカバーしきれない幅広い話題が印象的でした。
株式会社 f4samurai 松野 洋希様
オルタンシア・サーガ -蒼の騎士団-マギアレコード 魔法少女まどか☆マギカ外伝などが代表作の株式会社 f4samuraiからはCTOの松野様が登壇。オルタンシア・サーガのサーバーサイドの設計をご紹介いただきました。MHAとMySQLのレプリケーションに加えて、memcachedをキャッシュとして組み合わせた構成、サーバーサイドのプログラムはJavaベースとなっています。なお、同社ではサーバーサイドをはじめとしてゲームプランナーやデザイナーなど幅広い職種で人材募集中とのことでした。
LINE株式会社 大塚 知亮様
このイベント最後の事例セッションは大塚様による「LINEにおけるMySQLのスケール戦略とコスト最適化」でした。LINEゲームのインフラには600台を超えるMySQLサーバーが稼働中で、5.5のサーバーはより新しいバージョンへの移行プロジェクトが進行中とのことでした。独自の監視ツールのご紹介もあり、MySQLの稼働監視ツールmyStatusgoはオープンソースとしても公開されています。大塚様が開発されているツールで、MySQLのクライアント・サーバー間の通信パケットからクエリを抽出して負荷テストや動作検証を行うためのMySQL Query Replayerを、このイベントに合わせてオープンソースとして公開されました。

こちらのイベントの資料はmysql.comからダウンロードできます。

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

PostgreSQL 12の正式リリースがトップニュースです。

新メジャーバージョン12が正式リリース

新メジャーバージョンのPostgreSQL 12が、10月3日に正式リリースされました。バージョン12の概要については、本連載47回で概要をまとめています。また、前述のOSC 2019 .EnterpriseでもSRA OSS北山さんがわかりやすく解説され資料も公開されていますので、それらをご参照ください。

ここでは、バージョン12の新機能の抜粋を列挙しておきます。

  • JSON path
  • 生成列(式を使って計算される列)
  • 大文字小文字を区別しない比較
  • インデックスの機能追加・性能改善
  • パーティショニングの改善
  • プランナのWITH句の最適化
  • MCV拡張統計情報
  • ページチェックサム改善
  • 認証処理の拡充
  • テーブルAMインタフェース追加
  • その他にいくつかの仕様変更点

JPUG PostgreSQL Conferenceのテーマは「PostgreSQLは生き残れるか?」

日本PostgreSQLユーザ会(JPUG)主催のPostgreSQLの総合カンファレンス、「PostgreSQL Conference Japan 2019」が開催されます。注目する講演やテーマをいくつかピックアップします。

  • Project Tsurugi(劔)の状況:第3回OSSデータベース比較セミナー「Tsurugi」の名称が初めて発表されましたが、基調講演にてその次世代DBMS開発プロジェクトの状況が説明されます。
  • GIS(地理情報システム⁠⁠、IoT、Kubernetesでの利用など最新技術動向のセッションが設けられています。
  • ユーザ事例の発表もあります。
  • 新バージョンPostgreSQL 12についてのセッションももちろんあります。

OSS-DB認定者数上位企業発表

OSS-DB技術者認定試験は、LPI-Japanが実施するPostgreSQLの技術力認定試験です。この認定試験の2つのランクであるGoldとSilverについて、所属企業別の認定者数ランキングが発表されました。PostgreSQLエンタープライズ・コンソーシアム(PGECons)などで活動している企業が多くランクインしていますが、その他にもPostgreSQL技術者の育成に取り組んでいる企業が見受けられるのが興味深い点です。

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

オープンソースカンファレンス 2019 福岡/東京

日時 福岡:2019年11月9日(土)
東京:2019年11月23日(土⁠⁠、24日(日)
場所 福岡:九州産業大学 12号館
東京:明星大学 日野キャンパス 28号館
内容 福岡では日本MySQLユーザ会と日本オラクルのMySQLチームによるMySQLに関する講演とブース展示、JPUGによるPostgreSQLに関する講演とブース展示が予定されています。また、OSSコンソーシアムも出展します。東京では日本MySQLユーザ会によるMySQLに関する講演とブース展示(土曜のみ)が予定されています。
主催 オープンソースカンファレンス実行委員会

MySQL Innovation Day 2019

日時 東京:2019年11月7日(木)11:00-17:00(10:30受付開始)
大阪:2019年11月8日(金)14:30-19:30(14:00受付開始)
場所 東京:富士ソフトアキバプラザ アキバホール
大阪:日本オラクル株式会社 西日本支社 関西オフィス
内容 MySQLの開発チームやプロジェクトマネージャーが来日してMySQLの最新情報をお届けするMySQL Innovation Dayが1年ぶりに東京と大阪で開催。初来日となる高可用性担当のプロダクトマネージャー Kenny Grypからは、MySQLユーザー待望のクローンプラグインをはじめとしたInnoDB Clusterの最新機能を解説します。
主催 日本オラクル MySQL GBU

PostgreSQL/PowerGres ハンズオンセミナー

日時 2019年11月14日(木)15:00~17:00他
場所 SRA グループ池袋オフィスビル
内容 PowerGres の全体像を理解しつつ、実際に機能を体験できるコースで、ノートPCを持参すればインストール・設定までを行うことができます。
主催 SRA OSS Inc.

PostgreSQL Conference Japan 2019 ~ PostgreSQL は生き残れるか? ~

日時 2019年11月15日(金)
場所 AP品川(東京都港区)⁠品川駅」高輪口より徒歩3分
内容 PostgreSQL の総合カンファレンスとして、PostgreSQL 自体の進化とコンピューティング環境の変化への対応をディスカッションできるイベント。チュートリアルトラックもあります。参加にはチケット購入が必要です。懇親会への参加券も発売されています。
主催 日本PostgreSQLユーザ会 ⁠JPUG)

MySQL Technology Cafe #6

日時 2019年12月18日(火)
場所 日本オラクル株式会社 本社 13F
東京都港区北青山2-5-8
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティ Meeutp セミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第6回開催。内容はMySQL 8.0で強化された地理情報システム(GIS/Geographic Information System⁠⁠、詳細が決定次第Oracle Code Night のページにて公開予定です。
主催 Oracle Code Night

おすすめ記事

記事・ニュース一覧