Duplicatorでバックアップを作成する際、スムーズで成功したプロセスを確保するためには、適切なデータベースSQLモードの選択が不可欠です。
Duplicatorでは、設定 » バックアップの下に、MySqlDumpとPHP Codeの2つのSQLモードを提供しています。それぞれに長所と短所があり、適切なモードの選択は、お客様固有のサーバー構成とデータベースサイズによって異なります。
データベースSQLモードの概要
Duplicatorは、バックアップ作成中にデータベースを処理するための2つの主要なSQLモードを提供します。
MySqlDump: データベースを非常に効率的かつ高速にダンプするために使用されるコマンドラインユーティリティです。
PHP Code: サーバーリソースの制限を回避するために、大きなデータベースをチャンクで処理するように設計された、データベースをエクスポートするためのPHPベースの方法です。
各モードは異なるシナリオに合わせて調整されており、それぞれの長所と短所を理解することで、ご自身の状況に最適なモードを選択するのに役立ちます。
MySqlDumpモード
MySqlDumpは、データベースをエクスポートするために使用されるコマンドラインユーティリティです。
利点
- 速度: MySqlDumpはコマンドラインレベルで動作するため、PHPベースの方法と比較して大幅に高速です。
- 効率性: リソースが豊富なサーバーでは、大規模なデータベースをより効率的に処理します。
- 低リソース使用量: 十分なサーバーリソースを持つ小規模データベースに最適です。
欠点
- タイムアウトとメモリの問題: 共用サーバーやリソースの少ないサーバーでは、特に大規模なデータベースの場合、MySqlDumpはタイムアウトやメモリの制限に遭遇する可能性があります。
注意: MySqlDump がデフォルトパスで検出されない場合、Duplicator はモードをすぐに無効にするのではなく、まず正しいパスを自動設定しようとします。それでも見つからない場合は、MySqlDump モードが無効になります。また、MySqlDump を正常に使用するには、メモリ制限がデータベース サイズより大きい必要があることに注意してください。メモリ制限がデータベースより小さい場合、メモリ制限が使い果たされる可能性があるため、バックアップ ビルドを開始する前に、スキャン プロセス中に通知が表示されます。
ユースケース: MySqlDumpは、十分なリソースとシェルアクセスを備えたサーバー上の小規模データベースに最適です。
PHPコードモード
PHPコードモードは、PHPスクリプトを使用してデータベースをエクスポートします。データベースをより小さなチャンクに分割して処理するように設計されており、サーバーリソースの問題が発生する可能性を低減します。
利点
- 信頼性: エクスポートをより小さく管理可能なチャンクに分割することにより、タイムアウトやメモリの問題なしに大規模なデータベースを処理します。
- 互換性: PHPをサポートするあらゆるサーバーで動作するため、より普遍的に互換性のあるオプションです。
欠点
- パフォーマンスの低下: サーバーのプロセッサの全能力を活用できるMySqlDumpとは異なり、PHPコードモードはデータベースのエクスポートをより小さな断片に分割します。これは、サーバーのリソースを最大限に活用できないことを意味し、大規模なデータベースでは遅く、効率が悪くなります。
ユースケース: PHPコードモードは、大規模なデータベースまたはリソース制限が厳しいサーバーに推奨されます。
推奨設定
最も高速な構成: MySqlDump + ShellZip
最適な環境: リソースが豊富でシェルアクセスが可能なサーバー。この構成は最も高速なバックアップ作成を提供しますが、非常に大規模なデータベースではタイムアウトやメモリの問題が発生する可能性があります。
最も安全な構成: PHPコード + DupArchive
最適な環境: ほとんどのサーバー、特にリソースが限られているサーバーや大規模なデータベースを持つサーバー。この構成は遅いですが、非常に信頼性が高いです。
バランスの取れた構成: PHPコード + PHP Zip
最適な環境: MySqlDumpを常にサポートしていない可能性のある、適度なリソースを持つサーバー。速度と信頼性の良いバランスを提供します。
環境に適したSQLモードの選択
小規模データベース(500MB未満):
MySqlDumpを使用:通常、小規模データベースでは高速かつ効率的です。サーバーがコマンドラインユーティリティを処理できることを確認してください。
中規模データベース(500MB~1GB):
MySqlDumpをテスト:サーバーリソースが良好な場合、MySqlDumpは引き続き機能する可能性があります。問題が発生した場合は、PHPコードに切り替えてください。
大規模データベース(1GB超):
PHPコードを使用:大規模データベースにとって最も安全なオプションです。エクスポートを小さなチャンクに分割することで、メモリとタイムアウトの問題を防ぎます。
リソースが限られているサーバー:
PHPコードを使用:タイムアウトやメモリの問題を回避するため、特にサーバーがMySqlDumpのようなコマンドラインユーティリティを制限している場合に有効です。
Duplicatorで適切なSQLモードを選択することは、スムーズなバックアッププロセスにとって非常に重要です。MySqlDumpは、装備の整ったサーバー上の小規模なデータベースに対して高速で効率的ですが、PHPコードは、大規模なデータベースまたはリソースが制約された環境に対して信頼性の高いソリューションを提供します。ニーズに最適な構成を選択するために、サーバーの機能とデータベースのサイズを評価してください。
これらの 2 つのモードのどちらかを選択するのではなく、タイムアウトやビルドの失敗が発生している場合は、サーバー タイムアウトの問題のトラブルシューティング および ホストまたはサーバーでのビルドの問題の解決 ガイドを参照してください。
さらに詳しいサポートや特定の構成の推奨については、サポートにお問い合わせください。