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

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

この記事を読むのに必要な時間:およそ 3 分

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関連では非常に豪華なラインナップとなっていました。当日の講演資料は一部を除き公開されております。

著者プロフィール

山本文彦(やまもとふみひこ)

TIS株式会社

アプリ兼インフラエンジニアとしてさまざまなECサイトの開発現場を担当後,現在はOSSサポートサービスにおいて技術コンサルティングや保守サポートに従事。PostgreSQLだけでなく,MySQL, OracleなどのRDB,Amazon DynamoDBといったNoSQLなどさまざまなDB製品の利用経験を活かして,OSS製品の普及活動に力を注いでいる。


才藤かずら(さいとうかずら)

2016年に株式会社デジタル・ヒュージ・テクノロジー入社。初めてIT業界に携わることとなる。

また同年6月からOSSコンソーシアム データベース部会のリーダーを務める。部会を盛り上げるため,セミナーの開催やイベントへの参加を企画している。使用する主なデータベースはPostgreSQL。その他のデータベースについても目下勉強中である。


梶山隆輔

MySQL Sales Consulting Senior Manager。

日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。

コメント

コメントの記入