Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
EPUB - 7.5Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


18.1 MySQL Cluster の概要

MySQL Cluster はシェアードナッシングシステムでのインメモリーデータベースのクラスタリングを可能にするテクノロジです。シェアードナッシングアーキテクチャーでは、非常に安価なハードウェアでシステムが動作し、ハードウェアやソフトウェアの要件が最小限に抑えられます。

MySQL Cluster は、単一障害点が発生しないように設計されています。シェアードナッシングシステムでは、各コンポーネントに固有のメモリーとディスクが用意され、ネットワーク共有、ネットワークファイルシステム、SAN などの共有ストレージメカニズムの使用は推奨またはサポートされません。

MySQL Cluster は、標準の MySQL Server と NDB (Network DataBase を表します) と呼ばれるインメモリーのクラスタ化されたストレージエンジンを統合したものです。このドキュメントでは、NDB はセットアップのストレージエンジン固有の部分を表し、MySQL Cluster は 1 つ以上の MySQL Server と NDB ストレージエンジンの組み合わせを表します。

MySQL Cluster は、それぞれが 1 つ以上のプロセスを実行するホストと呼ばれる一連のコンピュータで構成されます。ノードと呼ばれるこれらのプロセスには、MySQL Server (NDB データへのアクセス用)、データノード (データのストレージ用)、1 つ以上の管理サーバー、および場合によってはその他の特殊なデータアクセスプログラムが含まれます。MySQL Cluster 内のこれらのコンポーネントの関係をここに示します。

MySQL Cluster のコンポーネント

これらすべてのプログラムが一体となって MySQL Cluster を形成します (セクション18.4「MySQL Cluster プログラム」を参照してください)。NDB ストレージエンジンによってデータが格納されると、データノードにテーブル (およびテーブルデータ) が格納されます。このようなテーブルには、クラスタ内のほかのすべての MySQL Server (SQL ノード) から直接アクセスできます。したがって、クラスタにデータを格納する給料計算アプリケーションでは、あるアプリケーションが社員の給料を更新すると、このデータをクエリーするほかのすべての MySQL サーバーがこの変更をただちに認識できます。

MySQL Cluster の SQL ノードでは mysqld サーバーデーモンが使用されますが、これは MySQL 5.6 配布に付属する mysqld バイナリとはいくつかの重要な点で異なっており、これら 2 つのバージョンの mysqld を交換することはできません。

さらに、MySQL Cluster に接続されていない MySQL Server は、NDB ストレージエンジンを使用できず、MySQL Cluster のデータにアクセスできません。

MySQL Cluster のデータノードに格納されたデータはミラー化できます。クラスタは、少数のトランザクションがトランザクション状態の消失によって中止されること以外の影響を受けずに、個々のデータノードの障害を処理できます。トランザクションの失敗はトランザクションアプリケーションが処理すると想定されるため、これが問題の原因になることはないはずです。

個々のノードは、停止して再起動したあと、システム (クラスタ) に再度参加できます。構成の変更やソフトウェアのアップグレードを行うときは、ローリング再起動 (すべてのノードが順に再起動される) が使用されます (セクション18.5.5「MySQL Cluster のローリング再起動の実行」を参照してください)。ローリング再起動は、新しいデータノードをオンラインで追加するプロセスの一部としても使用されます (セクション18.5.13「MySQL Cluster データノードのオンライン追加」を参照してください)。データノードの詳細、MySQL Cluster でのデータノードの構成方法、およびデータノードによる MySQL Cluster データの処理方法と格納方法については、セクション18.1.2「MySQL Cluster のノード、ノードグループ、レプリカ、およびパーティション」を参照してください。

MySQL Cluster データベースのバックアップとリストアは、MySQL Cluster 管理クライアントにある NDB 固有の機能、および MySQL Cluster 配布に含まれる ndb_restore プログラムを使用して行うことができます。詳細は、セクション18.5.3「MySQL Cluster のオンラインバックアップ」およびセクション18.4.20「ndb_restore — MySQL Cluster バックアップのリストア」を参照してください。mysqldump および MySQL Server でこの目的のために用意されている標準の MySQL 機能を使用することもできます。詳細は、セクション4.5.4「mysqldump — データベースバックアッププログラム」を参照してください。

MySQL Cluster ノードのノード間通信では、標準の 100M ビット/秒またはより高速な Ethernet ハードウェアを使用する TCP/IP など、多くの異なる転送メカニズムを使用できます。MySQL Cluster では、高速なスケーラブルコヒーラントインタフェース (SCI) プロトコルを使用することもできますが、これは MySQL Cluster を使用する上で必須ではありません。SCI には特別なハードウェアとソフトウェアが必要です。SCI および MySQL Cluster での SCI の使用方法の詳細は、セクション18.3.5「MySQL Cluster での高速インターコネクトの使用」を参照してください。


User Comments
Sign Up Login You must be logged in to post a comment.