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

第14回MySQL 8.0 & MySQL Cloud Service登場、PostgreSQL9.6 RC版リリース、Apache SparkとSpark SQLの最新動向のご紹介

MySQLは次期ジャーバージョンのMySQL 8.0の最初の開発途上版がリリースされました。Oracle Public CloudのデータベースサービスとしてMySQL Cloud Serviceが開始されたほか、InnoDB Clusterなど多数のアップデートがありましたのでご紹介します。PostgreSQLは9.6RC版がリリースされました。9.6版の代表的な機能のひとつであるパラレルクエリを紹介します。Apache Sparkはメジャーバージョンアップとなるバージョン2.0が公開され、Spark SQLも機能と性能が強化されました。

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

9月12日に次期メジャーバージョンとなるMySQL 8.0の最初の開発途上版(DMR/Developer Milestone Release)がリリースされました。また、オラクルが提供するクラウドサービスOracle Public CloudのDBaaSとしてMySQL Cloud Serviceの利用が可能になりました。これまで別々のプロジェクトであったマルチマスター型レプリケーションのGroup ReplicationとMySQLプロトコル用のソフトウェアルーターであるMySQL Routerが統合され、MySQL InnoDB Clustersとなっています。

9月にはMySQLのドキュメントストア機能のクライアントAPIであるX DevAPIを実装したJava, Pythonおよび.Net用コネクタやクライアントシェルプログラムのMySQL X Shellのアップデートがありました。

管理ツールではOracle Enterprise Manager for MySQL Databaseのアップデート、およびMySQL Enterprise Monitor 3.3がリリースされました。MySQL Enterprise Monitor 3.3は主にMySQL Enterprise Backupによるバックアップの進捗やエラーの有無を監視するダッシュボードが追加されました。

MySQL 8.0

MySQL 8.0はMySQL 5.7の次のメジャーバージョンです。最大の変更点は、テーブル定義などのメタデータを新たにデータディクショナリによって管理することです。またユーザアカウントやアクセス権限を管理するテーブル群のストレージエンジンも、従来のMyISAMからInnoDBに変更されています。システム系の情報の管理方法が大きく変わるということで、バージョン番号も明確に変更することが議論され、サン・マイクロシステムズ時代に開発中止となった6.0やMySQL Clusterのバージョン番号と重複する7.0を飛ばして8.0となりました。

MySQL 8.0の主な変更点は以下の通りです。

データディクショナリテーブル定義やパーティション、トリガの設定をフラットファイルからInnoDBを使用したデータディクショナリに変更
UTF-8utf8mb4がデフォルトの文字コードに。Unicode 9.0サポート
権限テーブルのInnoDB化権限管理テーブルをMyISAMからInnoDBに変更。
ロールユーザの権限管理にロールを追加、ROLES_GRAPHML()にて可視化
パフォーマンススキーマにインデックス追加性能統計情報の分析を効率化
パフォーマンススキーマにエラーサマリーテーブル追加サーバサイドエラーをパフォーマンススキーマにて管理/分析
SQLコマンドによる設定変更永続化SETコマンドにて行ったパラメータ変更を永続化可能に
パラメータ設定箇所の可視化設定値がコンパイル時、設定ファイル、コマンドライン引数やSETコマンドのどれで設定されたか確認可能

MySQL 5.7向けとしても開発中のドキュメントストア機能もMySQL 8.0に組み込まれています。このほかオプティマイザヒントの追加やGIS機能の拡張などが行われています。9月にリリースされたMySQL 8.0.0 DMR1には含まれず、Labsリリースとして公開されたのが、Common Table Expressions(共通テーブル式)およびオプティマイザからインデクスを隠す機能であるInvisible Indexです。後者はインデックスの削除/再作成の処理を行わずにインデックス削除の影響を確認可能になります。どちらもMySQL 8.0のメインの開発ツリーに統合されることが想定されます。

MySQL Cloud Service

オラクルが提供するクラウドサービスOracle Public Cloudの1メニューとしてMySQL Cloud Serviceが利用可能となりました。MySQL Cloud Serviceは、MySQL Enterprise EditionをベースとしたDBaaSです。数クリックで迅速にMySQLサーバを起動でき、管理ツールやOracle Public Cloudの各種サービスとも統合済みです。

MySQLをベースとした他のDBaaSとの大きな違いは、MySQL Enterprise Editionが提供する監視ツールMySQL Enterprise Monitorをはじめ、セキュリティ拡張機能のMySQL Enterprise FirewallやMySQL Enterprise Auditなどが利用可能、かつMySQL開発元からサポートサービスを受けることが可能となっていることが挙げられます。またMySQLサーバの機能に制限は加えていないため、レプリケーションを含めたすべての機能が利用可能となっており、同時にOracle Cloud Serviceが提供する拡張可能なノードやストレージを利用できます。

MySQL Enterprise Backupによってバックアップしたデータをクラウドとオンプレミスの間で移動できるため、開発フェーズと本番フェーズで最適な環境を選択することも可能となっています。

MySQL InnoDB Cluster

MySQLサーバーの高可用性構成を実現するソフトウェアパッケージをまとめたのがMySQL InnoDB Clusterです。

2016年9月末時点ではMySQL Group Replicationプラグイン0.9.0, MySQL Router 2.1およびMySQL X Shell 1.5のMySQL InnoDB Cluster管理APIはLabsリリース(実験室版)となっています。

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

MySQL 5.7入門セミナーシリーズ in 徳島
徳島県、とくしまOSS普及協議会と日本オラクルの共催で、徳島県のIT事業者を対象にMySQLの基礎を学べるセミナーを実施しました。1回2テーマずつ、全3回開催でMySQLのインストールからレプリケーション、チューニングまでMySQLを利用する上で必要となる知識を体系的に学習する機会となっていました。いずれの開催も30名以上の方にご来場いただきました。IT系メディアでも紹介いただきました。資料はMySQLのイベントページに掲載される予定です。

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

2016年9月1日にPostgreSQL 9.6のRC版(正式版直前の最終フェーズ版)がリリースされました。また、2016年8月31日にpgpool-Ⅱのアップデートが実施され、バージョンはそれぞれ3.5.4, 3.4.8, 3.3.12, 3.2.17 and 3.1.20となりました。今回のアップデートでは、これまでに累積されたバグの修正が行われています。

PostgreSQL9.6のパラレルクエリ機能のご紹介

PostgreSQL9.6のパラレルクエリ機能は、インデックスを使わないシーケンシャルスキャンにおいて、検索処理を複数プロセスで並列に処理することにより処理性能を高める機能です。

これまでのPostgreSQLでは、1つのクエリはディスク読み込みから集計まで1プロセスで順々に処理していましたが、PostgreSQL9.6からは、パラレルクエリ機能を使用することで、複数のプロセスに分業させることができるようになりました。

画像

複数プロセスを用いてサーバのCPU資源を十分に活用することで、全体の処理時間を短縮することができます。

一方で、並列化することでワーカープロセスの起動や、プロセス間通信などのオーバーヘッドが生ずるため、検索するデータ量などによっては単一プロセスで処理した方が速い場合があります。これについて、どのような並列度で処理するのが最適であるかについては、パラメータに基づきPostgreSQLが自動的に判断してくれるので、クライアント側は意識しなくても良いようになっています。

パラレルクエリ機能と同等な対策は、Oracleなどの商用DBの多くでは以前から実装されていた機能ですが、PostgreSQLにも実装されたことで、PostgreSQL9.6はさらに一歩、商用DBに近づいたと言えます。

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

PostgreSQL on Azure超入門
2016年9月30日(金)にOSSコンソーシアムデータベース部会が主催するハンズオンセミナーPostgreSQL on Azure超入門が開催されました。このセミナーでは、株式会社 デジタル・ヒュージ・テクノロジー 鵜川徹 様に登壇いただき、Azure上へPostgreSQLの環境構築から基本操作までご講演いただきました。

[Apache SparkとSpark SQL]最近の主な出来事

5月にプレビュー版が公開され動向が注目されていたApache Spark 2.0が、7月26日に待望の正式版として公開されました。リリースノートによると、Spark SQLに関しては主に以下の改善が実施されたようです。

SQLのサポートを拡大
多くのSQL 2003のクエリが新たにサポートされました。これにより、Spark 1.6では半数ほどしか実行できなかったTPC-DSのクエリを、Spark 2.0ではすべて実行できるようになりました。
APIのユーザビリティの向上
Spark 1.6では、実行するクエリの種別(SQLまたはHiveQL)によって、エントリーポイントとなるAPIが2通り(SQLContextまたはHiveContext)に分かれていました。しかしSpark 2.0では、これらのAPIがSparkSessionという単一のAPIに統一され、より使いやすくなりました。また、Spark 1.6から追加されたデータ構造であるDatasetはこれまでアルファ版でしたが、Spark 2.0にて正式にサポートされました。
性能の大幅な改善
処理エンジンであるTungstenの強化やオプティマイザであるCatalystの改善により、Spark 1.6と比較して約2~10倍も性能が向上しました。なおSparkの主要な開発企業である米国Databricks社が、Spark 2.0とSpark 1.6の性能比較結果を公開しています。

詳細については、Spark 2.0のリリースノート公式サイトおよびJIRAや、米国Databricks社のブログを参照ください。

なお、本記事の執筆時点ではまだのようですが、開発コミュニティのメーリングリストによると、次期バージョンのSpark 2.0.1が間もなく公開される予定のようです。

またSpark 1.6.X系についても、7月25日にメンテナンスリリースであるSpark 1.6.2が公開されています。リリースノートによると、主にバグ修正などの安定性の改善が実施されており、Spark 1.6.X系を利用しているユーザに向けてSpark 1.6.2へのアップグレードが推奨されています。

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

データサイエンティスト実践セミナー Python/Sparkで始める分析の実際 Big Data University Tokyo Meetup #7
8月26日(金)にイベント&コミュニティスペース「dots.」にて、日本アイ・ビー・エム株式会社主催のセミナー「データサイエンティスト実践セミナー Python/Sparkで始める分析の実際」が開催されました。Sparkのセッションでは、⁠詳解Apache Spark」⁠技術評論社)の共著者でもある日本アイ・ビー・エム株式会社の田中裕一氏が、Apache Sparkの勘所について解説しました。講演資料はイベントページで公開しています。
Hadoop Summit 2016 Melbourne
8月31日(水⁠⁠~9月1日(木)にオーストラリア メルボルンのCrown Conference Centreにて、米国Hortonworks社主催のイベント「Hadoop Summit 2016 Melbourne」が開催されました。Spark関連では、Apache ZeppelineというWeb GUIでSparkに接続してインタラクティブ分析が可能なOSSの紹介や、Spark上で動作するディープラーニングの紹介など、10以上のセッションが開催されました。講演資料は公式サイトのアジェンダページで公開しています。
Twitterデータ分析入門 - Big Data University Tokyo Meetup #8
9月9日(金)にTwitter Japan株式会社にて、日本アイ・ビー・エム株式会社主催のセミナー「Twitterデータ分析入門」が開催されました。セッションでは、日本アイ・ビー・エム株式会社の宋珠憲氏と田中裕一氏が、TweetデータをSparkで分析する手法について詳しく解説しました。講演資料はイベントページで公開しています。

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

MySQL 最前線 ~ 2016年秋 最新アップデート

日程2016年10月3日(月⁠⁠ 13:30~
場所日本オラクル株式会社 本社 東京都港区北青山2-5-8
内容MySQL 8.0 DMRやMySQL Cloud Service, MySQL InnoDB Clustersなど最新の製品情報と技術情報をいち早くご紹介するセミナーです。
主催日本オラクル MySQL GBU

ビッグデータ分析技術勉強会

日程2016年10月24日(月)
場所NHN テコラス株式会社 東京都新宿区新宿6-27-30 新宿イーストサイドスクエア13階
内容ビッグデータの蓄積・分析処理技術に関する勉強会
主催Future of Data~データの未来を考えよう~

Spark Summit Europe 2016

日程2016年10月25日~27日
場所Square - Brussels Meeting Centre rue Mont des Arts B-1000 Brussels
内容Apache Sparkの開発者・ユーザイベント
主催米国Databricks Inc.

Hadoop Summit 2016 Tokyo

日程2016年10月26日~27日(24日~25日はプレイベントを開催)
場所ヒルトン東京 東京都新宿区西新宿6丁目6番2号
内容Apache Hadoop, Apache Sparkの開発者・ユーザイベント。プレイベントではHadoopとSparkのトレーニングを開催
主催米国Hortonworks社

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

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

おすすめ記事

記事・ニュース一覧