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

第13回MySQLグループレプリケーションのご紹介、PostgreSQLセキュリティ問題修正、PostgreSQL9.6Beta3, Beta4リリースのご紹介、Apache Cassandraバージョン3.8のリリース内容が確定

MySQLはグループレプリケーション機能のベータリリースやツール類のマイナーバージョンアップがありました。このグループレプリケーションのアーキテクチャを解説します。PostgreSQLは2点のセキュリティ問題の修正がありました。また、次期メジャーリリースの9.6に向けたBea3、Beta4がリリースされました。Apache Cassandraは遅れていたバージョン3.8のリリース内容が確定しました。

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

7月30日にMySQL 5.55.65.7のバグフィックスを中心としたマイナーバージョンがそれぞれリリースされています。

マルチマスター型のレプリケーション機能であるグループレプリケーションのベータ版がリリースされました。このほかツールとして、レプリケーション構成時のフェールオーバーを可能とするツールなどDevOpsを支援するユーティリティ群のMySQL Utilities 1.6.4がリリースされています。またWindowsのタスクトレイに常駐し、MySQLサーバの起動停止や状態管理を行う小さなツールMySQL Notifier が1.1.7にマイナーバージョンアップしています。

商用版の監視ツールMySQL Enterprise Monitor 3.0.27およびオンラインバックアップツールMySQL Enterprise Backup 4.0.3もあわせて新しいマイナーバージョンがリリースされています。MySQL Enterprise Monitorについては利用しているOpenSSLのライブラリもあわせてバージョンアップしておりますので、お手元の環境のバージョンアップをご検討ください。

MySQLのグループレプリケーション機能のご紹介

MySQLでは各種のレプリケーション構成をとることができます。MySQLには2000年にレプリケーション機能が導入され、1:1型や1:n型が広く利用されてきました。MySQL 5.7では、データの集約や分析に役立つ、複数のマスターから1台のスレーブにデータを集約するためのマルチソース型が追加されました。

画像

グループレプリケーションはすべてのノードがマスターとして動作する構成となります。どのノードに書き込んだ内容でも相互に更新されていきます。MySQLのグループレプリケーションはMySQL 5.7に対するプラグインの形で開発が進められており、2016年8月末時点ではベータ版となっています。

MySQLのグループレプリケーションは以下の特徴を持っています。

  • 分散型の高可用性構成を構築可能
  • 障害が発生したノードを検知して自動的に切り離し
  • ノードの動的な追加削除が可能

グループレプリケーションは分散コンピューティングのState Machineのコンセプトをベースとしています。ノード間の通信にはPaxosアルゴリズムを用いたグループコミュニケーション(コードネーム:XCom)を実装し、各ノードで行われた変更は順番にブロードキャストされるようになっています。

トランザクションを処理するフローは以下の通りとなっています。

  1. データの変更処理は各ノードのローカルで実行
  2. コミットの命令が届いた段階で各ノードに実行確認のメッセージをブロードキャスト
  3. 各ノードでメッセージに含まれる変更対象の行とバージョンを確認
  4. 各ノードの行のバージョンと矛盾が無いことが確認できたらそれぞれでコミット
  5. 変更対象の行が別のトランザクションで変更されバージョンが異なっている場合はロールバック

どのノードで実行されたトランザクションでも、ノード間でのデータの不整合が起こらない仕組みとなっています。

MySQLのグループレプリケーションは、共有ストレージを使わずに拡張可能なマルチマスター型レプリケーション構成を構築できるため、データベースへのアクセスが増減する環境でのバックエンドやクラウドインフラでの利用が期待されています。

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

MySQL 5.7入門セミナーシリーズ in 徳島
徳島県、とくしまOSS普及協議会と日本オラクルの共催で、徳島県のIT事業者を対象にMySQLの基礎を学べるセミナーを実施中です。順次全国展開を進めているセミナーシリーズが徳島で開催されています。1回2テーマずつ、全3回開催でMySQLを体系的に学習する機会となっています。資料はMySQLのイベントページに掲載される予定です。
MySQL 5.7新機能紹介(日本語全文検索&GIS)
MySQL 5.7で追加された日本語全文検索機能と、MySQL 5.7で再実装されたGIS(地理情報システム)についてご紹介させて頂きます。特にMySQL 5.7のGISに関してはこれまで日本語での情報発信が限られており、セミナーとしては初めての開催となりました。

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

PostgreSQLは2016年8月11日にアップデートが実施され、バージョンはそれぞれ9.5.4、9.4.9、9.3.14、 9.2.18、9.1.23となりました。今回のアップデートでは、以下の2つのセキュリティ問題を含む多くのバグ修正が行われています。

CVE-2016-5423特定のCASE/WHENを含むSQLにより、PostgreSQLサーバのクラッシュやメモリ情報の漏えい、任意のコードの実行などの被害を発生させてしまう脆弱性です。
参考:Bug 1364001 - (CVE-2016-5423) CVE-2016-5423 postgresql: CASE/WHEN with inlining can cause untrusted pointer dereference
CVE-2016-5424データベース名やロール名に特定の文字列が含まれていると、一部のクライアントプログラムが誤動作しスーパーユーザに権限昇格できてしまう脆弱性です。
  • 特定の文字:改行、キャリッジリターン、ダブルクオート、バックスラッシュ
  • 脆弱性のあるプログラム:pg_dumpall, pg_upgrade, vacuumdb, reindexdb, clusterdb
参考:Bug 1364002 - (CVE-2016-5424) CVE-2016-5424 postgresql: privilege escalation via crafted database and role names

次期メジャーバージョンのリリースに向けては、7月21日に9.6 beta3が、8月11日に 9.6 beta4が相次いでリリースされました。いずれも、ベータテスト期間中に新たに発見された多くのバグ修正が行われており、9.6 beta4については、前述のセキュリティ問題への対応も行われています。

PostgreSQL9.6の機能的な改良点などについては第12回の紹介記事をご覧ください。

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

オープンソースカンファレンス2016 Kyoto
2016年7月29日(金⁠⁠~30日(土)京都リサーチパークで、オープンソースカンファレンス2016 Kyotoが開催されました。1日目に開催されたセミナーにおいて、PostgreSQL エンタープライズ・コンソーシアム 稲葉香理様による「PostgreSQL はエンタープライズで使えるのか? PGECons の取り組みと、PostgreSQL活用事例のご紹介」の講演が行われました。

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

8月にはリリースがありませんでした。当初7月リリース予定だったApache CassandraのVersion 3.8のリリースが遅れており、8月25日時点ではまだリリース投票が行われていませんが、コード自体は開発が終了しています。予定されている主な新機能としては、共有プールのスレッド名に実行タスクのステージを反映するようにしたこと、新しいコンパクションストラテジーであるTWCS(TimeWindowCompactionStrategy)が追加されたこと、負荷テスト用のcassandra-stressにいくつかの強化がなされたこと、Change-Data-Capture機能が追加されたことなどがあります。詳細については次回レポートします。

Cassandraのリリース情報(2016年8月25日最新情報)

Cassandra version 3.72016年4月14日リリース
Cassandra version 3.0.82016年7月8日リリース
Cassandra version 2.2.72016年7月8日リリース
Cassandra version 2.1.152016年7月8日リリース

Apache Cassandraのインストーラ付きのものも含む各種パッケージがDataStax Distribution of Apache Cassandraとしてダウンロードできます:

Cassandraのドライバーリリース情報(2016年8月25日最新情報)

Java Driver 3.0.3Cassandra 3.x対応2016年7月13日リリース
C# /.NET Driver v3.0.8Cassandra 3.x対応2016年8月4日リリース
Ruby Driver v3.0.3Cassandra 3.x対応、JRuby 1.7をサポート2016年7月22日リリース
C/C++ Driver v2.4.3Cassandra 3.x対応2016年8月22日リリース
PHP Driver v1.2.2Cassandra 3.0対応2016年8月8日リリース
Python Driver v3.6.0Cassandra 3.0対応、Python 2.6、2.7、3.3、3.4をサポート2016年8月1日リリース
Node.js Driver v3.1.1Cassandra 3.0対応2016年6月30日リリース
Spark Cassandra Connector Release 1.6.0Cassandra 3.0対応、Spark 1.6.1対応2016年6月9日リリース
alia v3.1.11(Clojure用ドライバー)Cassandra 3.0対応2016年8月10日リリース
go用ドライバーCassandra 2.0, 2.1, 2.2対応2016年8月24日最終更新

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

第35回Cassandra勉強会(2016年8月)
「Cassandraを利用・運用するにあたって次第にみえてくる課題や疑問、 グッド/バッドノウハウを共有しつつ探求する」ことを目的として日本Cassandraコミュニティが主宰している勉強会です。8月30日開催の今回は「人事アプリケーション開発におけるCassandraデータモデリングの話」と、9月7日〜9日米国で開催のCassandra Summit 2016参加への事前準備として現地で答えを得るための質問募集コーナーがありました。

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

MySQL 5.7入門セミナーシリーズ in 徳島

日程第1回 インストール編&セキュリティ基礎編 2016年8月5日(金)15:30-20:00 ⁠終了】
第2回 バックアップ編&レプリケーション編 2016年8月26日(金)15:30-20:00【終了】
第3回チューニング基礎編&SQLチューニング編 2016年9月16日(金)15:30-20:00
場所徳島県職員会館第1会議室 徳島市万代町3丁目5-3
内容2015年夏から開催し毎回大好評をいただいているMySQL入門セミナーシリーズがMySQL 5.7に対応。今回は徳島にて全3回に分けて各テーマをお送りいたします。
主催徳島県、とくしまOSS普及協議会日本オラクル MySQL GBU

MyNA(日本MySQLユーザ会)会 2016年9月

日程2016年9月2日(金)13:30-⁠開催時刻変更の可能性有り)
場所日本オラクル株式会社 本社 東京都港区北青山2-5-8
内容日本MySQLユーザ会のイベント。MySQLサポートエンジニア奥野幹也氏の新書籍出記念イベント

MySQL 5.7入門セミナーシリーズ

日程&テーマ2016年9月1日(木)名古屋 チューニング基礎&SQLチューニング編
2016年9月2日(金⁠⁠ 福岡 レプリケーション&セキュリティ基礎編
場所9/1(金⁠⁠ 名古屋:日本オラクル株式会社 東海支社 愛知県名古屋市中区栄3-18-1 ナディアパークビジネスセンタービル 10F
9/2(金) 福岡:
内容2015年夏から開催し毎回大好評をいただいているMySQL入門セミナーシリーズがMySQL 5.7に対応。
主催日本オラクル MySQL GBU

MySQL Cluster入門

日程2016年9月6日(火⁠⁠ 14:00-16:45
場所日本オラクル株式会社 本社 東京都港区北青山2-5-8
内容書籍MySQL Clusterによる高可用システム運用ガイドの著者 山崎由章氏がMySQL Clusterの特徴&利点、MySQL ServerとMySQL Clusterとの違い、MySQL Clusterの最初の一歩(インストール方法、基本設定変更方法、etc)などを解説
主催日本オラクル MySQL GBU

[Webセミナー]MySQL Enterprise Edtionを利用すべき10の理由

日程2016年9月8日(木⁠⁠ 16:00-17:00
内容事前登録制です。Webセミナーですので、インターネットにつながる環境であればどこからでもご参加いただけます。本セミナーではMySQL Enterprise Editionがシステムの現場にもたらす数々の機能的メリットとコンプライアンスを重視する企業の監査要求に耐えうるソリューションを実際の事例をベースにご紹介いたします。
主催株式会社ソフトエイジェンシー
協賛日本オラクル MySQL GBU

第8回PostgreSQLアンカンファレンス@東京

日程2016年9月10日(土⁠⁠ 13:30-17:30
場所株式会社アシスト セミナールーム 東京都千代田区九段北4-2-1
内容毎回大好評をいただいているPostgreSQLアンカンファレンスの第8回目の開催です。アンカンファレンス形式なので、何が出るかは当日来てのお楽しみ。友人知人同僚その他、ぜひお誘い合わせの上、ご参加ください。

WebDB Forum

日程2016年9月13日(火⁠⁠~9月15(木)
場所慶應義塾大学 日吉キャンパス 〒223-8521 神奈川県横浜市港北区日吉4-1-1
内容WebDB Forumは、WebとDB技術の基盤および応用技術に興味のある研究者、大学院生、 学部生、企業やオープンソースコミュニティの技術者が一堂に会し、 最新研究動向や成果について議論し、交流を行う、大規模なイベントです。
主催情報処理学会データベースシステム研究会日本データベース学会電子情報通信学会データ工学研究専門委員会

オープンソースカンファレンス 2016 Shimane

日程2016年9月24日(土⁠⁠ 開催予定
場所松江テルサ 島根県松江市朝日町478-18(JR松江駅前)
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。PostgreSQLに関する講演とJPUG中国支部のブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

オープンソースカンファレンス 2016 Nagaoka

日程2016年10月1日(土⁠⁠ 10:00-18:00 開催予定
場所まちなかキャンパス長岡 新潟県長岡市大手通2-6
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。PostgreSQLに関する講演とJPUG新潟支部のブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

その他のニュース

写真や画像を共有するソーシャルネットワークのPinterestでは、ピン情報やユーザ情報などを管理するメインのMySQL、Kafka やRedisのログ情報などのデータをHadoop/Sparkに集約して、パーソナライズや分析に利用しています。データを統合するフローについてブログで解説しています。

おすすめ記事

記事・ニュース一覧