NDB 8.0.16 以降では、データノード上で並列に動作する複数のローカルデータマネージャー (LDM) を使用してバックアップを作成できます。 これが機能するには、クラスタ内のすべてのデータノードが複数の LDM を使用し、各データノードが同じ数の LDM を使用する必要があります。 つまり、すべてのデータノードで ndbmtd を実行する必要があり (ndbd はシングルスレッドであるため、常に LDM が 1 つしかありません)、バックアップを取得する前に複数の LDM を使用するように構成する必要があります。ndbmtd はデフォルトでシングルスレッドモードで実行されます。 マルチスレッドデータノード構成パラメータ MaxNoOfExecutionThreads
または ThreadConfig
のいずれかに適切な設定を選択することで、複数の LDM を使用させることができます。 これらのパラメータを変更すると、クラスタの再起動が必要になることに注意してください。これはローリング再起動である場合があります。
LDM の数やその他の要因によっては、NoOfFragmentLogParts
を増やすことも必要になる場合があります。 大規模な「ディスクデータ」テーブルを使用している場合は、DiskPageBufferMemory
も増やす必要がある場合があります。 シングルスレッドバックアップと同様に、BackupDataBufferSize
、BackupMemory
およびバックアップに関連するその他の構成パラメータの設定も必要または調整する必要があります (バックアップパラメータ を参照)。
すべてのデータノードが複数の LDM を使用している場合は、NDB 管理クライアントで START BACKUP
コマンドを使用して並列バックアップを取ることができます。これは、データノードが ndbd (またはシングルスレッドモードで ndbmtd を実行している場合と同様です。追加または特殊な構文は必要なく、必要に応じて任意の組み合わせでバックアップ ID、待機オプション、またはスナップショットオプションを指定できます。
複数の LDM を使用したバックアップでは、サブディレクトリが作成されます。サブディレクトリは LDM ごとに、各データノードのディレクトリ BACKUP/BACKUP-
(backup_id
/BackupDataDir
の下にあります) の下に作成されます。これらのサブディレクトリの名前は BACKUP-
、backup_id
-PART-1-OF-N
/BACKUP-
などで、backup_id
-PART-2-OF-N
/BACKUP-
までです。backup_id
-PART-N
-OF-N
/backup_id
は、このバックアップに使用されるバックアップ ID で、N
はデータノードごとの LDM の数です。 これらの各サブディレクトリには、通常のバックアップファイル BACKUP-
、backup_id
-0.node_id
.DataBACKUP-
および backup_id
.node_id
.ctlBACKUP-backup_id.node_id.log
が含まれます。ここで、node_id
はこのデータノードのノード ID です。
NDB 8.0.16 以降では、ndb_restore は、先ほど説明したサブディレクトリの存在を自動的にチェックします。見つかった場合は、バックアップの並列復元を試みます。 複数の LDM で作成されたバックアップのリストアの詳細は、セクション23.4.23.3「パラレルで作成されたバックアップからのリストア」 を参照してください。