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

第15回MySQL Cluster 7.5リリース、PostgreSQL9.6リリース、Apache CassandraはCassandra Summitの開催とバージョン3.8、3.9リリース

MySQLは分散型データベースクラスタであるMySQL Cluster 7.5がリリースされました。PostgreSQLはPostgreSQL9.6がリリースされました。9.6版で強化されたポイントのひとつであるレプリケーション機能について解説します。Apache Cassandraは、バージョン3.8と3.9が同時リリースされました。

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

この連載の第8回でご紹介したMySQL Cluster 7.5がリリースされました。MySQL Clusterは共有ディスクを必要としない分散型のRDBMSクラスタです。またC++やNode.jsなど向けの複数のNoSQLインターフェースを持ち、RDBMSとNoSQLのハイブリッド型データストアとしてもご利用いただけます。

最新のMySQL Cluster 7.5では、SQLを処理するレイヤーがMySQL 5.7ベースとなり、JSONデータ型や強化されたセキュリティ機能などが利用できます。データを格納するndbclusterストレージエンジンレベルでも改良が行われ、参照処理性能向上のための全データノードへのデータ書き込みが可能に、インデックススキャンやレンジスキャンが性能向上しています。さらに設定やデータディクショナリのメタデータの確認も手順が簡素化されています。

さらに第9回でご紹介したMySQL Document StoreのXプラグインも同梱されており、以下の機能を兼ね備えたハイブリッド型データストアとしての機能がさらに強化されていきます。

  • 共有ディスク不要の分散型&全ノードアクティブ型RDBMSクラスタ
  • トランザクション対応memcached API準拠キーバリューストア
  • Node.js対応NoSQLデータストア
  • CRUD API対応ドキュメントデータベース
  • 別のデータセンターに配置されたクラスタ間での双方向の非同期レプリケーション
  • NoSQLデータストアとRDBMSクラスタ間での双方向レプリケーション

MySQL Cluster 7.5以外にも、MySQL Cluster 7.2, 7.3, 7.4およびMySQL Server 5.5, 5.6, 5.7、MySQL Workbench 6.3MySQL Enterprise Monitor 3.1, 3.2, 3.3の各マイナーバージョンアップが行われています。またMySQL Document StoreのX Dev APIをサポートしたConnectorも、Java, C++, node.jsとそれぞれアップデートされています。

MySQL Cluster 7.5の参照性能向上の改良点

MySQL Clusterのデータノードでは、テーブルの主キー(または主キーの一部、ユニークキー)によるハッシュパーティショニングよって分割したデータを各ノードに分散し、かつ多重化を行っています。図1はデータノードが4台、データの多重化は2台の場合の模式図です。なおデータの多重化は、MySQL Cluster 7.5から4台1グループとする設定がサポートされるようになりました。

図1 MySQL Clusterのデータノードでのデータ管理
図1 MySQL Clusterのデータノードでのデータ管理

MySQL Cluster 7.5のデフォルトの挙動やMySQL Cluster 7.4以前は、参照時はプライマリのデータノードにアクセスします。データ1をプライマリとして管理するデータノードがデータノード1の場合は、データ1に対する参照の処理はデータノード1にアクセスします。データ1とデータ3にアクセスする場合、データノード1上に全てのデータがあるにもかかわらず、データ3のプライマリではないため、別途データノード3にアクセスします。

MySQL Cluster 7.5からは、このオーバーヘッドを削減するため、MySQL Clusterのndb_read_backupオプションを有効にして全てのテーブルを、もしくはテーブル定義のNDB_TABLEの項目にREAD_BACKUP=1を設定して特定のテーブルのデータはプライマリではないデータノードからも読み込むことができるようになりました。

さらに参照の多いテーブルは、全てのデータノードに複製する構成も可能となっています。上記のREAD_BACKUPと同様に、全てのテーブル特定のテーブルかのいずれかを全てのデータノードに複製可能となります。全てのデータノードに複製を行うため更新処理のオーバーヘッドは大きくなりますが、JOIN処理や参照処理が非常に多く行われるテーブルで活用することで性能向上が期待できます。

図2 MySQL Cluster 7.5の"Fully replicated"構成
図2 MySQL Cluster 7.5

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

2016年9月29日にPostgreSQL 9.6.0がリリースされました。このリリースでは、パラレルクエリとストリーミングレプリケーション機能の拡張、全文検索におけるフレーズ検索、ざまざまな点でのパフォーマンス改善、ユーザビリティ強化などが行われております。 次のメジャーリリースはPostgreSQL9.7ではなく、PostgreSQL 10とアナウンスされております。何がどう変わるかなどの詳細はまだ公表されておりませんが、リリース時期は2017年第3四半期を予定していることがアナウンスされています。

PostgreSQL9.6のレプリケーションについて

ストリーミングレプリケーション機能とはマスタサーバでの更新時にトランザクションログ(WAL)をスレーブサーバに転送することでレプリケーションを実現する機能です。PostgreSQL9.0から利用できましたが、PostgreSQL9.6では以下の改良により、利用の幅が広がっています。

複数の同期スタンバイに対応
PostgreSQL9.5までは同期レプリケーションの対象は1台のみでしたが、PostgreSQL9.6からは複数台を指定できるようになりました。
remote_applyモード
PostgreSQL9.5まではマスタサーバへの書き込み結果がスレーブサーバに反映されるまでに若干のタイムラグがあり、マスタサーバへの書き込み直後にスレーブサーバへ問い合わせた場合、結果が反映されていないことがありました。PostgreSQL9.6から追加されたremote_applyモードはこの同期を保証します。

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

オープンソースカンファレンス2016 Nagaoka
2016年10月1日(土)まちなかキャンパス長岡で、オープンソースカンファレンス2016 Nagaokaが開催されました。開催されたセミナーにおいて、日本PostgreSQLユーザ会 新潟支部 澤田 雅彦様による「パラレルクエリがついに来た!PostgreSQL 9.6新機能をトコトン解説!」の講演が行われました。

[Cassandra]2016年9月と10月の主な出来事

9月7日から9日にかけてサンノゼでCassandra Summitが開催されました。DataStax CEOのBilly Bosworth氏、Cassandraを採用したオーストラリアの投資銀行MacquarieグループのディジタルアーキテクトRajay Rai氏、そしてDataStax CTO/Co-FounderでApache CassandraのチェアでもあるJonathan Ellisによる基調講演のほか、135のセッションがありました。日本からもYahoo! Japanが参加して発表を行いました。

予定よりだいぶ遅れていたApache Cassandraの新バージョンが3.8と3.9として2016年9月30日にtick-tockリリースのポリシーを維持するために同時にリリースされました。これらのバージョンの内容は同じであり、Version 3.0.8にも実装された新しいコンパクションストラテジーが含まれています。時系列データを対象としたDateTieredCompactionStrategy(DTCS)に代わるものとして、新たに推奨されるのがこの新しいコンパクションストラテジーTimeWindowCompcationStrategy(TWCS)です。DTCSと同様に時間枠ごとにSSTableファイルを分ける仕組みですが、設定が大幅に簡単になっており、その分だけ信頼性も向上しています。その他に、指定テーブルに対する変更を補足する変更データキャプチャ(Change-Data-Capture)機能も実装されています。現時点では捕捉したデータのコンシューマの実装とデータファイルの処理は自前で行う必要があります。

もう1つの大きな動きとしては7年間にわたってApache Cassandraプロジェクトのチェアを務めてきたJonathan Ellisがチェア辞任を表明し、プロジェクトメンバーの投票により9月22日からThe Last Pickle社のCTOであるNate McCallが後を引き継ぎ、プロジェクトは新たな時代に入りました。

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

Cassandra version 3.82016年9月30日リリース
Cassandra version 3.92016年9月30日リリース
Cassandra version 3.0.92016年9月16日リリース
Cassandra version 2.2.82016年9月29日リリース
Cassandra version 2.1.162016年10月11日リリース

Apache Software FoundationのダウンロードページにDebianパッケージの取得とインストールの方法が記載されています。また、過去のバージョンを含め、tarボール形式のものは同ページからリンクされているアーカイブからダウンロードできます。

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

Java Driver 3.1.1Cassandra 3.x対応2016年10月7日リリース
C# /.NET Driver v3.1.0Cassandra 3.x対応2016年10月17日リリース
Ruby Driver v3.0.3Cassandra 3.x対応、JRuby 1.7をサポート2016年9月3日リリース
C/C++ Driver v2.5.0Cassandra 3.x対応2016年10月20日リリース
PHP Driver v1.2.2Cassandra 3.0対応2016年8月8日リリース
Python Driver v3.7.0Cassandra 3.0対応、Python 2.6、2.7、3.3、3.4をサポート2016年9月14日リリース
Node.js Driver v3.1.5Cassandra 3.0対応2016年10月7日リリース
Spark Cassandra Connector Release 1.6.2Cassandra 3.0対応、Spark 1.6.1対応2016年8月31日リリース

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

第35回Cassandra勉強会
2016年8月30日にApache Cassandraを使ったERPパッケージを開発しているワークスアプリケーションズの場所を借りて勉強会が開催されました。当日のトピックはワークスアプリケーションズの高島氏が同社の人事アプリケーション開発において直面したCassandraのデータモデリングの課題や解決策について話がなされました。
Cassandra Summit 2016
本節冒頭でも述べましたが、2016年9月7日から9月9日にかけてサンノゼでCassandra Summit 2016が開催されました。最初の2日間は、基調講演と各セッションが開催され、最後の日はApache Cassandraのトレーニングと認定試験が実施されました。
Cassandra Meetup in Tokyo, Fall 2016
2016年10月12日にヤフー株式会社の紀尾井町の新オフィスにて、Cassandra Meetup in Tokyo, Fall 2016を開催しました。Cassandra Summit 2016に参加したヤフーの方々によるSummitの注目セッションの報告や、ヤフーがコントリビュートして今度リリースされるCassandra 3.10に含まれる予定のSlow Queryログ機能がCassandraに組み込まれるまでの経緯の紹介、勉強会でも注目されたワークスアプリケーションズ高島氏によるデータモデリングの話、およびDataStaxのアーキテクトBrad Vernon氏によるCassandra 3.xにおけるインパクトの大きい機能についての紹介などの発表が行われました

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

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

日程2016年11月5日(土⁠⁠~6日(日)
場所明星大学 東京都日野市程久保2-1-1
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみいただけます。日本MySQLユーザ会によるMySQLに関する講演、JPUG, PGEConsによるPostgreSQLに関する講演とブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

MySQL Casual Talks in Fukuoka vol.6

日程2016年11月9日(水)
場所LINE Fukuoka株式会社 福岡市博多区博多駅中央街8番1号(JRJP博多ビル12F)
内容MySQLについてカジュアルな雰囲気の中でつながりを作るという方向性のコミュニティMySQL Casualにて、さまざまなパッチやツールの情報などを共有するイベントです。今回はMySQL 8.0をはじめOracle OpenWorld 2016で発表された最新情報をご紹介予定です。

関西オープンフォーラム2016

日程2016年11月12日(土)
場所大阪南港ATC ITM棟10F 大阪市住之江区南港北2丁目1-10
内容関西オープンフォーラムは、⁠オープンソースならびに、コミュニティが元気に交流できる場を、関西でも作ろう」という目的のもとに集った有志により、2002年に活動を開始しました。JPUGによるPostgreSQLに関する講演とブース展示が予定されています。
主催関西オープンフォーラム

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

日程2016年11月19日(土)
場所福岡ソフトリサーチパーク センタービル 2F 福岡市早良区百道浜2丁目1番22号
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみ頂けます。日本MySQLユーザ会によるMySQLに関する講演、JPUGによるPostgreSQLに関する講演とブース展示が予定されています
主催オープンソースカンファレンス実行委員会

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

日程2016年11月27日(日)
場所サテライトキャンパスひろしま 広島市中区大手町1丁目5-3
内容オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみいただけます。日本MySQLユーザ会によるMySQLに関する講演、JPUGによるPostgreSQLに関する講演とブース展示が予定されています。
主催オープンソースカンファレンス実行委員会

トレーニング「Cassandraの技術概念と基礎、ツール」(2016年11月)

2016年11月にCassandraの基礎についてトレーニングを開催します。今回から、対応するCassandraのバージョンは3.xとなります。

日程2016年11月15日、16日
場所アットビジネスセンター渋谷東口駅前 東京都渋谷区渋谷2-22-8
内容ハンズオン付き 初心者向けApache Cassandraのトレーニングコースになります。
詳細http://cassandrajp.connpass.com/event/42918/

おすすめ記事

記事・ニュース一覧