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

第23回MySQL 8.0の日本語関連の話題、Pgpool-II 3.6.4リリース・PostgreSQL 10の最新情報、OSSコンソーシアムデータベース部会セミナー開催および「db tech showcase OSS 2017」参加

MySQLの主なアップデートはありませんでしたが、商用版の監視ツールMySQL Enterprise Monitorのマイナーバージョンアップが行われました。PostgreSQLのアップデートはありませんでしたが、2017年5月11日にPgpool-II 3.6.4がリリースされました。2017年5月26日にOSSコンソーシアム データベース部会主催のオープンソースデータベース比較セミナーを開催いたしました。また6月16, 17日開催の「db tech showcase OSS 2017」では、データベース部会ならびに各オープンソースデータベースのコミュニティから豪華な講演者ラインナップでの講演が行われました。

[MySQL]2017年6月の主な出来事

MySQLサーバー本体およびMySQL Clusterの各バージョンアップデートはありませんでした。商用版の監視ツールMySQL Enterprise Monitorは6月7日に3.4.1ならびに6月14日に3.2.83.3.4がリリースされました。MySQL Enterprise Monitor 3.4.1では、第20回でもご紹介しているMySQL InnoDB Clusterおよびその中核機能であるグループレプリケーションの稼働状況を監視するためのレプリケーションダッシュボードの拡張やアドバイザの追加が行われています。

図1 MySQL Enterprise Monitor 3.4.1のレプリケーションダッシュボード
図1 MySQL Enterprise Monitor 3.4.1のレプリケーションダッシュボード

MySQL 8.0の日本語Collation(文字照合)に関する話題

現在開発が進むMySQLサーバーの時期メジャーバージョンMySQL 8.0では、デフォルトの文字コードが従来のlatin1(ASCII文字コード)からutf8mb4(Unicode)に変わります。MySQL 8.0のCollationは基本的にUnicode照合アルゴリズム(UCA:Unicode Collation Algorithm)の中で規定されているデフォルトUnicode照合基本テーブル(DUCET:Default Unicode Collation Element Table)にて定義されているUnicode文字列の比較アルゴリズムの内容を実装する方向となっています。また各言語固有の要件については、DUCETを言語ごとにカスタマイズするための情報をXML形式で提供する共通ロケールデータリポジトリ(CLDR:Common Locale Data Repository)を利用する形となります。

日本語向けにはCLDRの照合規則およびソート順を実装し、促音や拗音などの小文字、およびアクセントとして扱われる清音・濁音・半濁音を判別するCollation utf8mb4_ja_0900_as_csが、MySQL 8.0.1にて追加されました。このutf8mb4_ja_0900_as_csでは、長音記号によるソート順の変化(⁠⁠キー」⁠キイ」⁠キウ」「クイ」⁠クー」⁠クウ」では長音記号付き文字列の位置が異なる)などもCLDRの定義に準じた挙動となります。

さらにひらがなとカタカナを判別するCollation utf8mb4_ja_0900_as_csも実装されており、こちらは2017年6月末時点ではLabs release(実験室版)にてお試しいただけます。またMySQL 8.0.2でMySQLサーバーのメインの開発ツリーに統合されることが予定されています。いずれもMySQLサーバー開発チームのブログにて日本翻訳記事が6月に公開されていますのでぜひご確認ください。

なおMySQL 8.0.1時点でのデフォルトのCollationはutf8mb4_0900_ai_ciとなります。このCollationは大文字/小文字やアクセント記号の有無を判別しません。MySQL 8.0にて日本語を利用する上では、文字コードutf8mb4のデフォルトのCollationでは清音・濁音・半濁音を判別しなくなった点に注意が必要です。MySQL 5.7およびそれ以前のバージョンでは、文字コードutf8mb4のデフォルトのCollationはutf8mb4_general_ciでした。このutf8mb4_general_ciでは、日本語を含む一部の文字はweightではなくコードポイントで比較を行うMySQL独自の文字照合アルゴリズムを実装しているため、結果的に清音濁音半濁音が判別できていました。MySQL 8.0にて日本語を利用する際には、照合およびソートの要件に応じた適切なCollationの選択が必須となります。

MySQL 8.0での日本語に関するCollation

utf8mb4_bin Unicodeのコードポイントのみを利用
utf8mb4_general_ciMySQL 5.7のutf8mb4のデフォルト
utf8mb4_unicode_ciUCA 4.0.0ベース
utf8mb4_unicode_520_ciUCA 5.2.0ベース
utf8mb4_0900_ai_ciMySQL 5.8のutf8mb4のデフォルト、UCA 9.0.0ベース
utf8mb4_0900_as_cs大文字小文字およびアクセントを判別、UCA 9.0.0ベース
utf8mb4_ja_0900_as_cs日本語独自の照合調整(Tailoring)を含む
utf8mb4_ja_0900_as_cs_ksひらがなカタカナを判別

このうちutf8mb4_general_ciおよびutf8mb4_unicode_ciにはSushi-Beer issueとしてバグ報告された Unicode絵文字を判別しない問題、またutf8mb4_unicode_ci, utf8mb4_unicode_520_ci, utf8mb4_0900_ai_ciはひらがなカタカナを判別しない挙動となるため、利用は推奨しづらいものとなります。

先月のMySQL関連イベントやセミナー、ユーザ会の活動のレポート

株式会社インサイトテクノロジー主催 db tech showcase OSS 2017
オープンソースデータベースをテーマとした株式会社インサイトテクノロジー主催のイベントdb tech showcase OSS 2017が6月16, 17日に東京秋葉原にて開催されました。オラクルのMySQL Community Teamではオープンソースコミュニティ支援の一環として協賛を行い、ヤフー株式会社 三谷さん、サイボウズ株式会社 深谷さんから各社での利用事例を解説していただきました。
またMySQLに関する書籍の著者としても知られている日本オラクル株式会社 奥野さんからはパフォーマンスチューニングに関する講演があり、いずれも数多くのお客様が熱心に講演を聴かれていました。
このほか元MySQLのコンサルタントで現在Facebookに在籍する松信さんやSPIDERストレージエンジンの開発者の斯波さん、さらにはPercona社CEOのPeter Zaitsev氏や旧MySQL AB創業者の一人で現在はMariaDBを率いるMichael "Monty" Widenius氏などMySQL関連では非常に豪華なラインナップとなっていました。当日の講演資料は一部を除き公開されております。

[PostgreSQL]2017年6月の主な出来事

PostgreSQL 9、10(β版)共に、アップデートはありませんでしたが、Pgpool-IIは2017年5月11日にアップデートが実施され、バージョンはそれぞれ3.6.4, 3.5.8となりました。今回のアップデートでは、これまでに累積されたバグの修正が行われています。

βテストが行われているPostgreSQL10について、日本HPの篠田氏執筆のPostgreSQL10 Beta1新機能検証結果が公開されており、新機能について詳しく知ることができます。

  • パーティション・テーブル
  • Logical Replication
  • パラレル・クエリの拡張
  • Quorum-based同期レプリケーション
  • Hash IndexのWAL出力
  • 待機イベントの出力増加

全量で100ページを超える大作です。時間がないが、PostgreSQL10の新機能について概要だけでも押さえたいという方は「3.1 PostgreSQL10における変更点概要」だけでも読んでいただくことをお勧めします。

また、PostgreSQL10 Betaの今後のリリース予定も明らかになりました。β3の確度は低めですが以下の通りとなります。

PostgreSQL10 Beta22017年7月13日
PostgreSQL10 Beta32017年8月10日(確度低め)

OSSコンソーシアム データベース部会活動

OSSコンソーシアム データベース部会主催 オープンソースデータベース比較セミナー

この連載を担当しているOSSコンソーシアムデータベース部会が主催する「オープンソースデータベース比較セミナー」が5月26日に開催されました。エンジニア初心者~中堅クラスの参加者に向け、各講演者がSoftware Designで過去に紹介したオープンソースデータベースについて講演を行っていただきました。

Software Design 2016年12月号の第1特集「適材適所で活用していますか?NoSQLの教科書」にて第4章「データの型や永続化機能が用途を広げる 高速なインメモリデータベースRedis」を執筆された株式会社スカイディスクの大谷裕司氏に今回NoSQL代表として「Redis」の特徴から活用法までご説明いただきました。質問で出たRDBMSとの比較やその他NoSQLとの比較、併用方法なども含めながら より踏み込んだ内容についても追加でお話いただきました。

またSoftware Design 2016年2月号の第1特集「2大OSSデータベースの勘所を探れ!MySQLとPostgreSQL[最新]徹底比較」を執筆された株式会社はてなの曽根壮大氏には、オープンソースデータベースでよく比較されるMySQLとPostgreSQLの違いにについてお話いただきました。各データベースの得意な分野から二つのDBの違いをしっかりとイメージを掴み、DB初心者でもすぐに活用できる内容でした。

最後は日本オラクル株式会社の梶山隆輔氏にお話し頂きました。さらにMySQLの使用方法の応用編として、MySQLのNoSQL機能やMySQL Clusterの活用方法、それ以外にもMySQLバージョンの裏話などここでしか聞けないお話をしていただきました。

各講演後には講演者の方同士での質問や意見交換などもあり、非常に盛り上がりました。セミナー終了後のアンケートでは関連講演に「興味がある」とお答えいただいた参加者が85%ほどになり、当部会としては次回セミナーもぜひ企画したいと考えております。

各資料のリンク先は、OSSコンソーシアムHPの当部会のページにて公開しております。

株式会社インサイトテクノロジー主催 db tech showcase OSS 2017

上記先月のMySQL関連イベントやセミナー、ユーザ会の活動のレポートでも紹介しました株式会社インサイトテクノロジー主催のdb tech showcase OSS 2017の初日16日に、当部会所属およびOSSコンソーシアム副会長である日立ソリューションズ技術革新本部 研究開発部主幹技師 吉田行男氏が「IoT時代のデータストア――躍進するNoSQL、拡張するRDB」の講演テーマで参加されました。

2017年7月開催予定のセミナーやイベント、ユーザ会の活動

オープンソースカンファレンス 2017 Hokkaido

日程2017年7月14日(金⁠⁠~2017年7月15日(土)
場所札幌コンベンションセンター[OSC受付:2F]
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。日本MySQLユーザ会および日本オラクルのMySQLチームによるMySQLに関する講演とブース展示、JPUGによるPostgreSQLに関する講演とブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

オープンソースカンファレンス 2017 Kyoto

日程2017年8月4日(金⁠⁠~2017年8月5日(土)
場所京都リサーチパーク(KRP)[OSC受付:東地区1号館アトリウム
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。日本MySQLユーザ会および日本オラクルのMySQLチームによるMySQLに関する講演とブース展示、JPUGによるPostgreSQLに関する講演とブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

おすすめ記事

記事・ニュース一覧