MySQL Server では、ストレージエンジンに数多くの選択肢があります。 NDB
と InnoDB
の両方がトランザクション MySQL ストレージエンジンとして機能できるため、MySQL Server のユーザーが NDB Cluster に関心を持つことがあります。 NDB
は、MySQL 8.0 のデフォルトの InnoDB
ストレージエンジンの代替候補またはアップグレード候補とみなされています。 NDB
と InnoDB
は共通の特性を共有しますが、アーキテクチャーと実装に違いがあるため、一部の既存の MySQL Server アプリケーションと使用シナリオは NDB Cluster には適していますが、すべてに適しているわけではありません。
このセクションでは、NDB 8.0 で使用される NDB
ストレージエンジンのいくつかの特性と、MySQL 8.0 で使用される InnoDB
について説明し、比較します。 次のいくつかのセクションでは、技術的な比較を示します。 多くの場合、NDB Cluster を使用するタイミングと場所に関する決定は、すべての要因を考慮してケース単位で行う必要があります。 このドキュメントでは、すべての有意義な使用シナリオに固有の情報を提供することは範囲外ですが、InnoDB
バックエンドではなく、NDB
の一部の共通タイプのアプリケーションの相対的な適合性に関する一般的なガイダンスも提供しようとしています。
NDB Cluster 8.0 は、InnoDB
1.1 のサポートを含む、MySQL 8.0 に基づく mysqld を使用します。 NDB Cluster で InnoDB
テーブルを使用することは可能ですが、このようなテーブルはクラスタ化されません。 NDB Cluster 8.0 配布のプログラムまたはライブラリを MySQL Server 8.0 とともに使用することも、その逆もできません。
NDB Cluster または MySQL Server (InnoDB
ストレージエンジンを使用している可能性が高い) のいずれかで実行できる共通ビジネスアプリケーションの一部のタイプにも当てはまりますが、いくつかの重要なアーキテクチャーと実装の違いがあります。セクション23.1.6.1「NDB および InnoDB ストレージエンジンの違い」 には、これらの違いのサマリーが表示されます。 これらの違いのため、一部の使用シナリオは明らかにどちらか一方のエンジンに適しています。セクション23.1.6.2「NDB と InnoDB のワークロード」を参照してください。 これは、NDB
または InnoDB
とともに使用するのが適切なアプリケーションのタイプにも影響を与えます。 それぞれが一般的なタイプのデータベースアプリケーションでの使用にどの程度適合するかの比較については、セクション23.1.6.3「NDB および InnoDB の機能使用のサマリー」を参照してください。
NDB
および MEMORY
ストレージエンジンの相対的な特徴については、MEMORY または NDB Cluster を使用する場合を参照してください。
MySQL ストレージエンジンに関する追加情報は、第16章「代替ストレージエンジン」を参照してください。