この連載では、OSSコンソーシアム データベース部会のメンバーが、さまざまなオープンソースデータベースの毎月の出来事をお伝えしています。
MySQLおよびPostgreSQLは3月の製品アップデートはありませんでした。今回は、MySQLはMySQL Clusterの基礎的な製品情報、PostgreSQLの関連記事を紹介させていただきます。
[MySQL]2019年3月の主な出来事
2019年3月はMySQLの製品アップデートはありませんでした。4月、5月と共有ディスクを使わないActive-Active型のデータベースクラスタであるMySQL Cluster に関するセミナーが開催予定のため、今回はMySQL Clusterの製品概要をご紹介いたします。
4月19日のOSSコンソーシアム主催 第3回データベース比較セミナー では、MySQL Clusterのアーキテクチャのうち、特にトランザクション管理に焦点を置いた解説が行われる予定となっています。なお5月9日に開催予定のMySQL Clusterの開発エンジニアを招いてのセミナーについては、近日中にMySQL.comのイベントページ に掲載予定です。
MySQL Cluster or MySQL NDB Cluster?
MySQL Clusterは共有ディスクを使わないActive-Active型のデータベースクラスタで、トランザクションをサポートし、MySQLのSQL文を利用できるリレーショナルデータベースです。単一障害点を排除して99.999%の高い可用性(年間5分程度の停止時間)を達成するための設計がされています。
MySQL Clusterの基礎となる技術は、通信機器ベンダのエリクソンで携帯通信網の加入者データベース向けに開発され、 Ericsson Network DataBase(NDB)と呼ばれていた技術です。2003年からMySQLサーバーの機能と統合して製品化し、現在はMySQLサーバーとは独立した製品として開発および販売が進められています。内部的にはMySQLサーバーの機能も利用していますが、バージョンやリリースサイクルは別になっています(最新バージョンのMySQLサーバー 8.0は2018年4月リリース、MySQL Cluster 7.6は2018年5月リリース ) 。
MySQLサーバーには8.0からデフォルトの高可用性構成としてレプリケーション技術をベースとしたMySQL InnoDB Clusterが含まれています。この機能と区別するためにMySQL ClusterはMySQL NDB Cluster と表記されることが増えています。
MySQL Clusterのアーキテクチャ概要
MySQL Clusterでは共有ディスクを使わない代わりに、複数のノードにデータを分散して配置し、常に複数のノードが同じデータのコピーを持つことで冗長性を高めています。
表1 MySQL Clusterを構成するノード
SQLノード SQLアプリケーションが接続するMySQLプロセスサーバー、ただしアプリケーションデータは保持しない。ユーザ認証やSQL文を内部APIへ変換。
データノード データを保持するノード。データの複製やトランザクションの管理。
管理ノード クラスタの起動/停止やバックアップ/リカバリ、ネットワーク障害時のスプリットブレインの解消。
各テーブルの主キーまたはユニークキーのハッシュを計算してパーティションを内部的に作成し、ハッシュ値とデータノードの数に基づいて各パーティションのデータをデータノードに分散配置します。分散されたデータは同じグループ内のデータノードに複製が置かれ、データが冗長化されます。パーティション内のデータが変更されると、同じパーティションを持つデータノードにも同期的に変更が反映されるため、それぞれのデータノードのデータは常に同じになります。
MySQL Clusterの導入事例
MySQL Clusterはその開発の経緯から、現在でも通信事業者の基盤システム やサービスレイヤでの利用が多く見られます。高い可用性と汎用的なハードウェアで動作する点から軍需防衛関連のシステムで広く採用されています(公開される例はきわめて限られますが) 。
さらにMySQL Clusterの性能拡張性を生かして、World of Warcraftなど世界規模のオンラインゲームを運営するBlizzard Entertainmentやオンライン旅行予約サイトのBooking.com、国内でも大規模なオンラインゲームのバックエンドデータベースとして採用されています。4月17日の「MySQL Technology Cafe 」では電子マネー「BitCash」を運営するビットキャッシュ株式会社 での導入事例をご紹介予定です。
[PostgreSQL]2019年3月の主な出来事
2019年3月はPostgreSQLのアップデートはありませんでした。次回のアップデートは5月9日ごろを予定しております。今回は、PostgreSQLの関連記事を紹介させていただきます。
オープンソースデータベース標準教科書 -PostgreSQL- のPostgreSQL 10対応
LPI-Japanが発行している「オープンソースデータベース標準教科書 -PostgreSQL-」について、2019年3月1日にPostgreSQL 10へ対応したVer2.0.0がリリース されました。
「オープンソースデータベース標準教科書 -PostgreSQL-」は、データベース初心者を対象に、実習を通してPostgreSQLの基本操作・基礎知識を体系的に学習することができるテキストです。クリエイティブコモンズライセンスに基づき公開されており、無償で入手することができます。これからPostgreSQLを始めてみようという方は、ぜひご活用ください。
住信SBIネット銀行がデータベースをOracleからAmazon Aurora PostgreSQLに移行
2019年3月5日にAWSが開催した説明会において、住信ネット銀行がインターネットバンキングなどのデータベースをOracleからAmazon Aurora PostgreSQLに切り替えることを発表 しました。
機能比較、SQL文の互換性調査、性能評価などを実施することで、機能面、性能面で問題がないことがわかり、切り替えによるライセンス費用の削減効果により、切替に必要な費用を3年間で回収できると判断し、移行を決断したそうです。
OracleからPostgreSQLへの移行については、以下のような記事も参考になると思いますので合わせてご活用ください。
2019年4月開催予定のセミナーやイベント、ユーザ会の活動
PostgresSQLエンタープライズコンソーシアム(略称 PGECons)の2018年度の成果報告会が、4月に東京、5月に大阪で開催されます。日程などの詳細や参加募集は、執筆時点では未発表でしたが、この記事を読まれる頃には始まっているかもしれません。興味のある方はPGEConsのWebサイトをご覧ください。
日程 2019年4月19日(金)
場所 TIS株式会社 東京都新宿区西新宿8-17-1(住友不動産新宿グランドタワー)
内容 各講演者の得意なDBについての講演を聞いて、それぞれのDBを比較できる「オープンソースデータベース比較セミナー」の第3回目開催です。今回は、IoT、ビッグデータなどで話題の分散データベースをテーマに、 PostgreSQL, MySQL, Cassandraと現在開発中の次世代OLTPについて、それぞれのDBの有識者に各DBの特徴を語っていただきます。
主催 OSSコンソーシアム
日程 2019年4月11日(木)
場所 日本オラクル株式会社 北日本支社 北海道オフィス 札幌市中央区北一条西4-1-2 武田りそなビル 6F
内容 MySQL 8.0の入門セミナーを開催します。今回のセミナーでは、MySQLをチューニングする時に役立つさまざまな機能やチューニングの基礎知識を解説します。また、オプティマイザの仕組みや、実行計画を確認する際のポイント、実行計画を調整する方法など、SQLチューニングの基礎について解説します。
主催 日本オラクル MySQL GBU
日程 2019年4月22日(月)
場所 日本オラクル株式会社 北日本支社 東北オフィス 仙台市青葉区本町1-1-1 アジュール仙台 18F
内容 MySQL 8.0の入門セミナーを開催します。今回のセミナーでは、MySQLをチューニングする時に役立つさまざまな機能やチューニングの基礎知識を解説します。また、オプティマイザの仕組みや、実行計画を確認する際のポイント、実行計画を調整する方法など、SQLチューニングの基礎について解説します。
主催 日本オラクル MySQL GBU
日程 2019年4月17日(水)
場所 日本オラクル株式会社 本社 東京都港区北青山2-5-8
内容 オラクルのテクノロジーに限定しない、開発者による開発者のための開発者向けコミュニティ Meeutp セミナー「Oracle Code Tokyo Night」の企画として開催されているMySQL Technology Caféの第3回開催。今回はマルチマスタを実現可能なデータベースクラスタMySQL NDB Clusterの製品アーキテクチャ、最新バージョンでの注目の新機能、そしてお客様導入事例として電子マネー「BitCash」を運営するビットキャッシュ株式会社のMySQL NDB Cluster運用現場からの声をご紹介します。
主催 Oracle Code Tokyo Night
日程 2019年4月20日(土)
場所 沖縄県市町村自治会館 沖縄県那覇市旭町116-37
内容 オープンソースのコミュニティや協賛企業、後援団体によるオープンソース関連のセミナーや展示などをお楽しみいただけます。JPUG(PostgreSQL) 、日本MySQLユーザ会による講演とブース展示が予定されています。
主催 オープンソースカンファレンス実行委員会