Duplicatorでバックアップを作成する際、スムーズで成功したプロセスを確保するためには、適切なデータベースSQLモードの選択が不可欠です。
Duplicatorでは、設定 » バックアップの下に、MySqlDumpとPHP Codeの2つのSQLモードを提供しています。それぞれに長所と短所があり、適切なモードの選択は、お客様固有のサーバー構成とデータベースサイズによって異なります。
データベースSQLモードの概要
Duplicatorは、バックアップ作成中にデータベースを処理するための2つの主要なSQLモードを提供します。
MySqlDump: データベースを非常に効率的かつ高速にダンプするために使用されるコマンドラインユーティリティです。
PHP Code: サーバーリソースの制限を回避するために、大きなデータベースをチャンクで処理するように設計された、データベースをエクスポートするためのPHPベースの方法です。
各モードは異なるシナリオに合わせて調整されており、それぞれの長所と短所を理解することで、ご自身の状況に最適なモードを選択するのに役立ちます。
MySqlDumpモード
MySqlDumpは、データベースをエクスポートするために使用されるコマンドラインユーティリティです。
利点
- 速度: MySqlDumpはコマンドラインレベルで動作するため、PHPベースの方法と比較して大幅に高速です。
- 効率性: リソースが豊富なサーバーでは、大規模なデータベースをより効率的に処理します。
- 低リソース使用量: 十分なサーバーリソースを持つ小規模データベースに最適です。
欠点
- タイムアウトとメモリの問題: 共用サーバーやリソースの少ないサーバーでは、特に大規模なデータベースの場合、MySqlDumpはタイムアウトやメモリの制限に遭遇する可能性があります。
注意: MySqlDumpが検出されない場合、このモードは無効になります。また、MySqlDumpを正常に使用するには、メモリ制限がデータベースサイズよりも大きい必要があることに注意してください。メモリ制限がデータベースよりも小さい場合、メモリ制限が枯渇する可能性があるため、バックアップビルドを開始する前に、スキャンプロセス中に通知が表示されます。
ユースケース: MySqlDumpは、十分なリソースとシェルアクセスを備えたサーバー上の小規模データベースに最適です。
PHPコードモード
PHPコードモードは、PHPスクリプトを使用してデータベースをエクスポートします。データベースをより小さなチャンクに分割して処理するように設計されており、サーバーリソースの問題が発生する可能性を低減します。
利点
- 信頼性: エクスポートをより小さく管理可能なチャンクに分割することにより、タイムアウトやメモリの問題なしに大規模なデータベースを処理します。
- 互換性: PHPをサポートするあらゆるサーバーで動作するため、より普遍的に互換性のあるオプションです。
欠点
- パフォーマンスの低下: サーバーのプロセッサの全能力を活用できるMySqlDumpとは異なり、PHPコードモードはデータベースのエクスポートをより小さな断片に分割します。これは、サーバーのリソースを最大限に活用できないことを意味し、大規模なデータベースでは遅く、効率が悪くなります。
ユースケース: PHPコードモードは、大規模なデータベースまたはリソース制限が厳しいサーバーに推奨されます。
推奨設定
最も高速な構成: MySqlDump + ShellZip
最適な環境: リソースが豊富でシェルアクセスが可能なサーバー。この構成は最も高速なバックアップ作成を提供しますが、非常に大規模なデータベースではタイムアウトやメモリの問題が発生する可能性があります。
最も安全な構成: PHPコード + DupArchive
最適な環境: ほとんどのサーバー、特にリソースが限られているサーバーや大規模なデータベースを持つサーバー。この構成は遅いですが、非常に信頼性が高いです。
バランスの取れた構成: PHPコード + PHP Zip
最適な環境: MySqlDumpを常にサポートしていない可能性のある、適度なリソースを持つサーバー。速度と信頼性の良いバランスを提供します。
環境に適したSQLモードの選択
Small Databases (< 500MB):
Use MySqlDump: This is usually fast and efficient for smaller databases. Ensure your server can handle the command-line utility.
Medium Databases (500MB – 1GB):
Test MySqlDump: If your server resources are good, MySqlDump might still work. If issues occur, switch to PHP Code.
Large Databases (> 1GB):
Use PHP Code: This is the safest option for large databases. It prevents memory and timeout issues by breaking the export into smaller chunks.
Servers with Limited Resources:
Use PHP Code: To avoid timeout and memory problems, especially if the server restricts command-line utilities like MySqlDump.
Duplicatorで適切なSQLモードを選択することは、スムーズなバックアッププロセスにとって非常に重要です。MySqlDumpは、装備の整ったサーバー上の小規模なデータベースに対して高速で効率的ですが、PHPコードは、大規模なデータベースまたはリソースが制約された環境に対して信頼性の高いソリューションを提供します。ニーズに最適な構成を選択するために、サーバーの機能とデータベースのサイズを評価してください。
さらに詳しいサポートや特定の構成の推奨については、サポートにお問い合わせください。