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

第6回 MySQL 5.8の話題,PostgreSQL 9.5リリースとApache Cassandraのご紹介

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

MySQL関連では次のメジャー・バージョンや今後のロードマップに関連する話題が複数登場しました。PostgreSQLは2016年1月7日に新バージョンである9.5.0がリリースされました。今回はPostgreSQLの新バージョンに移行する際の注意点についてご紹介します。

また,今回からOSSコンソーシアム データベース部会よりApache Cassandraについてもご紹介します。

[MySQL]2016年1月の主な出来事

2015年10月に最新メジャー・バージョンMySQL 5.7がリリースされて以降も活発に開発と改良を続けています。MySQL 5.7のリリース後にコミュニティから寄せられたフィードバックを元に,複数の重要な修正を行っています。また次のメジャー・バージョンMySQL 5.8の開発に向けた要件の募集や,MySQL周辺ツールの開発版がアップデートされています。

MySQL 5.7での追加改良点

メジャー・バージョンの正式リリース後ではありますが,より実用性を高めるセキュリティ関連の改良を複数行っています。

mysql_ssl_rsa_setupコマンドの追加
MySQLのコミュニティ版ではTLS(Transport Layer Security)を利用して通信を暗号化するために,yaSSLのライブラリを利用しています。このyaSSLのライブラリではMySQLサーバーの起動時などに自動的に鍵の生成などができないため,2015年12月にリリースされたMySQL 5.7.10では,mysql_ssl_rsa_setupコマンドを追加して鍵の生成手順を簡略化しています。なおMySQLの商用版ではOpenSSLのライブラリを利用しており,MySQLサーバーの初回起動時に自動的に鍵生成が可能なので本コマンドでの鍵生成は不要です。
パスワード有効期限のデフォルト値変更
MySQLの普及促進や改良に貢献されているOracle ACE(MySQL)のyoku0825さんから寄せられた機能要望のバグレポートをきっかけに,MySQL 5.7でのパスワード有効期限のデフォルト値が360日から無期限パラメータ名 default_password_lifetimeとなりました。この値はMySQL 5.7.11以降で有効となり,MySQL 5.8でも同様となります。
透過的データ暗号化の追加
MySQL 5.7.11でInnoDBストレージエンジンの表領域ファイルのページレベルでの暗号化機能が追加されます。この機能は透過的データ暗号化 Transparent Data Encryption (TDE)とも呼ばれており,データ作成時の定義にENCRYPTIONオプションを指定するだけで,自動的にデータが暗号化されます。本機能の実装方式などは2016年3月の記事で解説予定です。

MySQL 5.8や新ツールのリリースに向けた活動

MySQL 5.8に対する機能要望の募集開始
MySQLサーバーの仕様決定を担当するプロダクトマネージャーに,これまでコミュニティ担当だったMorgan Tockerが就任しました。さっそくMySQLサーバー開発チームのブログにおいて,コミュニティからMySQL 5.8に対する機能要望を募集する記事を出しています。たとえばMySQL 5.8のデフォルトの文字コードはutf8mb4にすることが提案されていますが,デフォルトのCollation(文字照合順)をutf8mb4_unicode_520_ciにすることは問題となり得るため,日本のMySQLコミュニティからの声も非常に重要となります。他にもレプリケーション設定のデフォルト値変更に関する機能要望を募集する記事も別途掲載されています。
マルチマスター型レプリケーションGroup Replication
全てのサーバーをマスターとして動作させるマルチマスター型レプリケーションがGroup Replicationというプロジェクトで開発中です。2016年1月にはこのGroup Replicationの開発版がアップデートされ,これまでのLinuxに加えてWindowsやMac OSも動作対象環境となりました。

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

MySQL Casual Talks vol.9
MySQLに関するカジュアルな話題を中心に,MySQLの利用者が幅広いテーマで講演するイベントの第9回が2016年1月22日Yahoo! Japanにて開催されました。当日のライブツイートがまとめられています

[PostgreSQL]2016年1月の主な出来事

昨年から待ち望まれていたPostgreSQL 9.5.0が,2016年1月7日にリリースされました。今回のメジャーバージョンアップでは,INSERT文の拡張機能であるUPSERTや大量データの検索に適したBRINインデックスの実装,JSON型の改善やFDWの機能強化などが行われています。詳しくは,第4回 OSSデータベース取り取り時報「PostgreSQL 9.5の主な新機能」および第5回 OSSデータベース取り取り時報「PostgreSQL 9.5の主な新機能(2)」をご覧ください。

PostgreSQL 9.5へバージョンアップする際の主な注意点

PostgreSQLがメジャーバージョンアップし,新バージョンへの移行を考えている方も多いと思います。そこで,旧バージョンからPostgreSQL 9.5.0にバージョンアップする際に,特に気を付けたい項目を以下にピックアップしました。

データの論理的な移行が必要
PostgreSQL 9.5.0以前のバージョンからPostgreSQL 9.5.0に変更するには,pg_dumpallまたはpg_upgrade ユーティリティなどを用いて,データを論理的に移行する必要があります。旧バージョンのデータベースクラスタを流用すること(物理バックアップを利用したバージョンアップ)はできません。
演算子の優先順位の変更
IS,ISNULL,NOTNULL や IN,BETWEEN など,一部の演算子の優先順位が変更されました。旧バージョンよりも,よりSQL標準に近い優先順位に変更されています。
pg_ctlによるデフォルトのシャットダウン方法の変更
pg_ctlコマンドのデフォルトの停止モードが,スマートシャットダウン(smart)から高速シャットダウン(fast)に変更されました。このため,デフォルトの停止モードでPostgreSQLを停止させると,実行中のトランザクションがロールバックされ,クライアントとの接続を強制的に切断するようになります。以前のバージョンまではクライアントとの接続が切断されるまで,PostgreSQLの停止を待機する仕様となっていました。
パラメータの廃止
自動WALチェックポイントの契機となる値を設定するcheckpoint_segmentsパラメータが廃止され,変わりにmin_wal_sizeとmax_wal_sizeパラメータが新設されました。なお,max_wal_size = (3 * checkpoint_segments) * 16MBとすることで,checkpoint_segmentsで調整していたときとほぼ同等の設定にすることができます。

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

オープンソースカンファレンス2015 .Enterprise @ Osaka
2016年1月29日にオープンソースカンファレンス2015 .Enterprise @ Osakaが開催されます(本誌執筆時点ではまだ未開催)。
PostgreSQLに関連するセミナーは,株式会社アシストの藤原氏による「PostgreSQLトラブルシュート」と株式会社富士通ソーシアルサイエンスラボラトリの小笠原氏による「高トランザクションシステムへのPostgreSQL適用事例&Postgres Plus最新動向」が予定されています。

著者プロフィール

梶山隆輔

MySQL Sales Consulting Senior Manager。

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


岡野慎也(おかのしんや)

株式会社メトロシステムズ

OSSプロダクトを扱う専門チームに所属し,PostgreSQLに関連する業務は10年以上担当。R&DでPostgreSQLの知識を日々深めつつ,国内有数の大手企業のシステムに対してPostgreSQLを導入する案件に複数参加している。
最近はPostgreSQLの書籍の執筆等も手掛けている。


原沢滋(はらさわしげる)

DataStax Inc

Apache Cassandraの商用版DataStax Enterprise(DSE)を販売するDataStaxの日本におけるビジネス・ディベロップメント担当。Oracle,Netezza等のリレーショナル・データベース業務に担当後,今はApache Cassandraの普及活動に力を入れている。

コメント

コメントの記入