MySQL 8.0 リファレンスマニュアル MySQL NDB Cluster 8.0 を含む
このページは機械翻訳したものです。
このセクションでは、NDB Cluster で検出された制限のうち、標準 MySQL で検出された制限とは異なる制限または見つからない制限を一覧表示します。
メモリーの使用量とリカバリ.
ほかのストレージエンジンと同様、NDB
テーブルにデータを挿入したときに消費されたメモリーは、削除したときに自動的にリカバリされません。 代わりに、次のルールが適用されます。
NDB
テーブルに対して DELETE
ステートメントを実行すると、削除された行で以前使用されていたメモリーが同じテーブルでの挿入にかぎって再利用可能になります。 ただし、OPTIMIZE TABLE
を実行すると、このメモリーの一般的な再利用が可能になります。
クラスタのローリング再起動が行われた場合も、削除された行で使用されていたメモリーが解放されます。 セクション23.5.5「NDB Cluster のローリング再起動の実行」を参照してください。
NDB
テーブルに対して DROP TABLE
または TRUNCATE TABLE
操作を実行すると、このテーブルで使用されていたメモリーが解放され、任意の NDB
テーブルで (同じテーブルでも別の NDB
テーブルでも) 再利用可能になります。
TRUNCATE TABLE
によってテーブルが削除され、再作成されることを思い出してください。 セクション13.1.37「TRUNCATE TABLE ステートメント」を参照してください。
クラスタの構成によって課される制限. 多くの構成可能なハード制限がありますが、クラスタ内の利用可能なメインメモリーによって制限が設定されます。 セクション23.3.3「NDB Cluster 構成ファイル」の構成パラメータの完全なリストを参照してください。 ほとんどの構成パラメータはオンラインでアップグレードできます。 これらのハード制限には次のようなものがあります。
データベースのメモリーサイズとインデックスのメモリーサイズ (それぞれ DataMemory
と IndexMemory
)。
DataMemory
は 32K バイトのページとして割り当てられます。 各 DataMemory
ページは、使用されたときに特定のテーブルに割り当てられます。割り当てられたあとは、テーブルを削除した場合を除いてこのメモリーを解放できません。
詳細は、セクション23.3.3.6「NDB Cluster データノードの定義」を参照してください。
1 つのトランザクションで実行できる操作の最大数は、構成パラメータ MaxNoOfConcurrentOperations
および MaxNoOfLocalOperations
を使用して設定されます。
一括ロード、TRUNCATE TABLE
、および ALTER TABLE
は、複数のトランザクションを実行することによって特別なケースとして扱われるため、この制限が適用されません。
テーブルとインデックスに関するさまざまな制限。 たとえば、クラスタ内の順序付けされたインデックスの最大数は MaxNoOfOrderedIndexes
によって決定され、テーブルあたりの順序付けされたインデックスの最大数は 16 です。
ノードとデータオブジェクトの最大数. クラスタノードとメタデータオブジェクトの数には、次の制限が適用されます。
NDB 8.0.18 の時点では、データノードの最大数は 145 です。 (以前は 48 でした。)
データノードは 1 から 144 までの (これらを含む) 範囲のノード ID を持つ必要があります。 (NDB 8.0.17 以前のリリースでは、これは 1 から 48 でした。)
管理ノードおよび API ノードでは、1 から 255 の範囲のノード ID を使用できます。
NDB Cluster 内のノードの合計最大数は 255 です。 この数には、すべての SQL ノード (MySQL Server)、API ノード (MySQL Server 以外のクラスタにアクセスするアプリケーション)、データノード、および管理サーバーが含まれます。
NDB Cluster の現在のバージョンのメタデータオブジェクトの最大数は 20320 です。 この制限はハードコーディングされています。
詳細は、セクション23.1.7.11「前 NDB Cluster 8.0 で解決される NDB Cluster の問題」を参照してください。