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

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

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最新動向」が予定されています。

Apache Cassandraのご紹介

Apache Cassandraは大規模データ向けのNOSQL分散データベースです。 もともとは、GoogleのBigtableアーキテクチャとAmazonのDynamoの機能を元にFacebookが作成したデータベースで2008年にオープンソース化され、現在では、Apple、Netflix, Sony、eBay、Nike等多くの企業でRDBMSではないデータベースとして大規模システムに利用されています。

主な特徴としては、パフォーマンス、高可用性、拡張性の3つがよく挙げられます。データオペレーションに特化したデータベースなので、すべての事ができるデータベースではありませんが、機能をそれに特化することによって、パフォーマンスの向上がなされています。マスターという概念がない分散データベースなので、負荷が集中する箇所が存在せず、各ノードが完全に独立して動くことができるのでSPOF(単一障害点)がありません。ここは、他の多くのデータベースとの違いです。Cassandraのノードを増やした場合には単純にパフォーマンスと容量がリニアにスケールします(縮小も可能⁠⁠。さらにその拡張や縮小はシステムを止めることなく簡単に行えます。

東京と大阪のデータセンターやオンプレミスとクラウドといったハイブリッド環境のような別々の環境でのレプリケーションもノード同士がネットワーク越しに見える状態であれば、データベースを作る際に1パラメータ変更するだけでマルチデータセンタ、双方向レプリケーションが簡単に設定できます。詳細についてはDataStax社が公開しているCassandraの日本語のマニュアルをご参照ください。

[Cassandra]リリース情報

Apache Cassandraのメジャー・バージョンは、2015年11月9日にリリースされた v3.0です。月次チック・タック モデルと呼ばれるリリースプランでリリースをしており、マイナーバージョンが偶数(v3では3.2, 3.4, 3.5, …)の場合は新機能追加、奇数(v3では3.1, 3.3, 3.5, …)の場合は不具合修正のパッチリリースとなります。

2016年1月16日の時点で

Cassandra v3.1.1(2015年12月21日リリース)
マイナーバージョンが奇数なので、不具合修正バージョン Cassandra v3.2(2016年1月12日リリース)
マイナーバージョンが偶数なので、新機能追加バージョン

がリリースされています。

[Cassandra Driver]リリース情報

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

1月のCassandra v3.2のリリースにおいて、JBODで複数のディスクであった場合でもTokenで割り当てられたデータが必ず同じディスクを利用するようになりました。データのCastも明示的に記述できるようになり、Hinted Handoffを圧縮するパラメータhints_compressionが新たに追加されています(defaultではoff⁠⁠。

Apache Cassandraのトレーニングが2016年1月19日、20日に実施されています。次回は2016年3月15、16日の予定です。 また2月のCassandra勉強会がワークスアプリケーションズ様で開催予定です。詳細はこちらから。

最近のCassandra関連イベントやセミナー

Cassandra Meetup, 2015年秋
2015年12月2日(水)に楽天クリムゾンハウスにて、Cassandra Meetup, 2015年秋を開催いたしました。11月にリリースされた最新バージョンのv3.0の話を中心に、米国で開催され,ました参加者が8,000人を超えたCassandra Summit 2015の様子、さらには楽天による発表が行われました資料⁠。
オープンソースカンファレンス2015 .Enterprise
2015年12月9日(水)にTKP渋谷カンファレンスセンターにて、オープンソースカンファレンス2015 .Enterprise昼食はこれを聞いてから行こう!Apache CassandraとApache Sparkの美味しい関係という講演を行いました。その時の資料はこちら

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

MySQLとPostgreSQLと日本語全文検索

MySQLとPostgreSQLの日本語全文検索に関するセミナーが、2016年2月9日に開催されます。PostgreSQLに関連する話は、株式会社NTTデータの澤田氏による「pg_bigmを用いた全文検索」と株式会社クリアコードの須藤氏による「PGroongaを用いた全文検索」が予定されています。

日程2016年2月9日(火) 20:00-22:00
場所DMM.comラボ
渋谷区恵比寿4-20-3 恵比寿ガーデンプレイスタワー21F
内容MySQLとPostgreSQLの日本語全文検索について、その実行方法や事例を紹介するイベントです。
主催Groongaコミュニティ

第2回 MySQL・PostgreSQLユーザーグループ(MyNA・JPUG)合同DB勉強会 in 東京

日程2016年2月20日(土) 12:50-19:00
場所ヤフー株式会社 11Fセミナールーム
東京都港区赤坂9-7-1 ミッドタウン・タワー
内容MySQLとPostgreSQLの最新情報等がわかるDB勉強会です。
主催中国地方DB勉強会

初心者向け!MySQL 5.7入門セミナーシリーズ

日程バックアップリカバリ編 in 大阪
2016年2月23日(木) 13:30-16:30
場所日本オラクル株式会社 関西支社
大阪市北区堂島2-4-27 新藤田ビル 9F
内容2015年夏から開催し毎回大好評をいただいているMySQL入門セミナーシリーズがMySQL 5.7に対応。今回は大阪にてバックアップリカバリ編を開催。
主催日本オラクル MySQL GBU

オープンソースカンファレンス2016 Tokyo/Spring

日本MySQLユーザ会および日本PostgreSQLユーザ会ともにブース出展およびセミナー講演で参加します。

日程2016年2月26日(金)10:00-18:00
2016年2月27日(土)10:00-17:30
場所明星大学 日野キャンパス 26号館 2F(OSC受付)
内容オープンソースカンファレンスでは、オープンソースのコミュニティや協賛企業、後援団体による、オープンソース関連のセミナーや展示などをお楽しみ頂けます。入場料は無料です。
主催オープンソースカンファレンス実行員会
企画運営株式会社びぎねっと

その他のニュース

JPUG(日本PostgreSQLユーザ会)主催のPostgreSQL newbie hackathon合宿が、2016年2月27,28日に開催されます。今回は株式会社NTTデータの澤田氏を講師に迎え、パッチの適用方法やパッチのレビュー方法についての講義が行われる予定です。

タクシー配車サービスのUberは大量データの管理基盤のMySQLへのマイグレーションを公表していました。1月に書かれたエンジニアのブログでは、スキーマレスなデータをMySQLに格納して運用する方法を公開しています。

おすすめ記事

記事・ニュース一覧