MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む

このページは機械翻訳したものです。

第 23 章 MySQL NDB Cluster 8.0

MySQL NDB Cluster は、分散コンピューティング環境に適した高可用性高冗長性バージョンの MySQL です。 最新の NDB Cluster リリースシリーズでは、バージョン 8 の NDB ストレージエンジン (NDBCLUSTER とも呼ばれる) を使用して、クラスタ内の MySQL サーバーやその他のソフトウェアで複数のコンピュータを実行できるようにします。 NDB Cluster 8.0 は、バージョン 8.0.19 以降で General Availability (GA) リリースとして使用できるようになり、NDB ストレージエンジンのバージョン 8.0 が組み込まれています。 NDB Cluster 7.6 および NDB Cluster 7.5 は GA リリースとして引き続き使用でき、それぞれバージョン 7.6 および 7.5 の NDB を使用します。 以前の GA リリースは、本番、NDB Cluster 7.4 および NDB Cluster 7.3 で引き続き使用でき、それぞれ NDB バージョン 7.4 および 7.3 が組み込まれています。 NDB 7.2 以前のリリースシリーズはサポートまたは保守されなくなりました

NDB ストレージエンジンのサポートは、オラクルによってビルドされた標準の MySQL Server 8.0 バイナリには含まれていません。 代わりに、Oracle の NDB Cluster バイナリのユーザーは、サポートされているプラットフォームの NDB Cluster の最新のバイナリリリースにアップグレードするようにしてください。これには、ほとんどの Linux ディストリビューションで動作する RPM が含まれます。 NDB Cluster ソースから構築する 8.0 ユーザーは、MySQL 8.0 用に提供されているソースを使用し、NDB サポートを提供するために必要なオプションで構築するようにしてください。 (ソースを入手できる場所については、このセクションで後述します。)

重要

MySQL NDB Cluster は InnoDB クラスタ をサポートしていません。InnoDB クラスタ は、InnoDB ストレージエンジンとともに MySQL Server 8.0 を使用して配備する必要があり、NDB Cluster 配布に含まれていない追加のアプリケーションを使用して配備する必要があります。 MySQL Server 8.0 バイナリは、MySQL NDB Cluster では使用できません。 InnoDB クラスタ のデプロイおよび使用の詳細は、MySQL AdminAPI の使用 を参照してください。セクション23.1.6「MySQL Server NDB Cluster と比較した InnoDB の使用」 では、NDB ストレージエンジンと InnoDB ストレージエンジンの違いについて説明します。

この章では、8.0.23 を介した NDB Cluster 8.0 リリースについて説明します。 NDB Cluster 8.0 が一般提供リリースとして使用可能になり (NDB 8.0.19 以降)、新しい配備に推奨されるようになりました。使用可能な最新リリースは NDB 8.0.22 です。 NDB Cluster 7.6 および 7.5 は、本番で引き続きサポートされている以前の GA リリースです。NDB Cluster 7.6 については、What is New in NDB Cluster 7.6 を参照してください。 NDB Cluster 7.5 に関する同様の情報については、What is New in NDB Cluster 7.5 を参照してください。 NDB Cluster 7.4 および 7.3 は以前の GA リリースで本番で引き続きサポートされていますが、本番用の新しい配備では NDB Cluster 8.0 を使用することをお勧めします。MySQL NDB Cluster 7.3 and NDB Cluster 7.4 を参照してください。

サポートされるプラットフォーム.  NDB Cluster は現在使用可能であり、多数のプラットフォームでサポートされています。 オペレーティングシステムバージョン、オペレーティングシステム配布、およびハードウェアプラットフォームの特定の組み合わせで利用可能な正確なサポートレベルについては、https://www.mysql.com/support/supportedplatforms/cluster.html を参照してください。

可用性.  NDB Cluster バイナリおよびソースパッケージは、https://dev.mysql.com/downloads/cluster/ からサポートされているプラットフォームで使用できます。

NDB Cluster のリリース番号.  NDB 8.0 は、MySQL 8.0.13 および MySQL NDB Cluster 8.0.13 以降、MySQL Server 8.0 シリーズのリリースと同じリリースパターンに従います。 この「手動」およびその他の MySQL ドキュメントでは、NDB で始まるバージョン番号を使用して、これら以降の NDB Cluster リリースを識別します。 このバージョン番号は NDB 8.0 リリースで使用される NDBCLUSTER ストレージエンジンのバージョン番号であり、NDB Cluster 8.0 リリースのベースとなる MySQL 8.0 サーバーのバージョンと同じです。

NDB Cluster ソフトウェアで使用されるバージョン文字列.  MySQL NDB Cluster ディストリビューションで提供される mysql クライアントによって表示されるバージョン文字列は、次の形式を使用します:

mysql-mysql_server_version-cluster

mysql_server_version は NDB Cluster リリースのベースとなる MySQL Server のバージョンを表します。 NDB Cluster 8.0 のすべてのリリースでは、これは 8.0.n です。ここで、n はリリース番号です。 -DWITH_NDBCLUSTER または同等のものを使用してソースからビルドすると、-cluster 接尾辞がバージョン文字列に追加されます。 (セクション23.2.1.4「Linux でのソースからの NDB Cluster の構築」およびセクション23.2.2.2「Windows でのソースからの NDB Cluster のコンパイルとインストール」を参照してください。) 次に示すように、mysql クライアントでこの書式が使用されていることがわかります。

shell> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 8.0.23-cluster Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SELECT VERSION()\G
*************************** 1. row ***************************
VERSION(): 8.0.23-cluster
1 row in set (0.00 sec)

MySQL 8.0 を使用した NDB Cluster の最初の General Availability リリースは、MySQL 8.0.19 を使用した NDB 8.0.19 です。

MySQL 8.0 配布に通常含まれていないほかの NDB Cluster プログラムによって表示されるバージョン文字列は、次の形式を使用します:

mysql-mysql_server_version ndb-ndb_engine_version

mysql_server_version は NDB Cluster リリースのベースとなる MySQL Server のバージョンを表します。 NDB Cluster 8.0 のすべてのリリースでは、これは 8.0.n です。ここで、n はリリース番号です。ndb_engine_version は、NDB Cluster ソフトウェアのこのリリースで使用される NDB ストレージエンジンのバージョンです。 すべての NDB 8.0 リリースで、この番号は MySQL Server バージョンと同じです。 この形式は、次のように ndb_mgm クライアントの SHOW コマンドの出力で使用されます:

ndb_mgm> SHOW
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.0.10.6  (mysql-8.0.29 ndb-8.0.23, Nodegroup: 0, *)
id=2    @10.0.10.8  (mysql-8.0.29 ndb-8.0.23, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=3    @10.0.10.2  (mysql-8.0.29 ndb-8.0.23)

[mysqld(API)]   2 node(s)
id=4    @10.0.10.10  (mysql-8.0.29 ndb-8.0.23)
id=5 (not connected, accepting connect from any host)

標準の MySQL 8.0 リリースとの互換性.  多くの標準 MySQL スキーマおよびアプリケーションは NDB Cluster を使用して動作できますが、NDB Cluster を使用して実行すると、変更されていないアプリケーションおよびデータベーススキーマにわずかな互換性がないか、パフォーマンスが最適でない可能性があります (セクション23.1.7「NDB Cluster の既知の制限事項」 を参照)。 これらの問題のほとんどは克服できますが、これは、スキーマ、クエリー、およびアプリケーションに変更を加える可能性を考慮せずに、既存の (たとえば、MyISAMInnoDB を使用する) アプリケーションデータストアを NDB ストレージエンジンを使用するものに切り替えることがほとんど不可能であることも意味します。 NDB サポートなしでコンパイルされた (つまり、-DWITH_NDBCLUSTER_STORAGE_ENGINE またはそのエイリアス -DWITH_NDBCLUSTER なしで構築された) mysqld は、それを使用して構築された mysqld のドロップイン置換として機能できません。

NDB Cluster 開発ソースツリー.  NDB Cluster 開発ツリーには、https://github.com/mysql/mysql-server からもアクセスできます。

https://github.com/mysql/mysql-server で保守される NDB Cluster 開発ソースは GPL のもとでライセンス供与されます。 Git を使用して MySQL ソースを取得し、自分で構築する方法の詳細は、セクション2.9.5「開発ソースツリーを使用して MySQL をインストールする」 を参照してください。

注記

MySQL Server 8.0 と同様に、NDB Cluster 8.0 リリースは CMake を使用して構築されます。

NDB Cluster 8.0 は NDB 8.0.19 以降で一般提供リリースとして使用可能であり、新しい配備に推奨されます。 NDB Cluster 7.6 および 7.5 は、本番で引き続きサポートされている以前の GA リリースです。NDB Cluster 7.6 については、What is New in NDB Cluster 7.6 を参照してください。 NDB Cluster 7.5 に関する同様の情報については、What is New in NDB Cluster 7.5 を参照してください。 NDB Cluster 7.4 および 7.3 は以前の GA リリースで本番で引き続きサポートされていますが、本番用の新しい配備では NDB Cluster 8.0 を使用することをお勧めします。MySQL NDB Cluster 7.3 and NDB Cluster 7.4 を参照してください。

NDB Cluster が進化し続けるため、この章の内容は改訂の対象となります。 NDB Cluster に関する追加情報は、http://www.mysql.com/products/cluster/ の MySQL web サイトにあります。

追加のリソース.  NDB Cluster の詳細は、次の場所を参照してください: