2009-06-29 7 views
1

2つのデータベースが異なるサーバー上でホストされています。マスターテーブルデータベースのすべての内容をスレーブデータベースのテーブルにコピーするのに最善のことは何ですか?私はマスターデータベースの所有者ではありませんが、アクセスを許可します。 RSSを介してmasterデータベースからのデータを出力する前に、別のデータベースがある別のサーバーに挿入するためにPHPスクリプトを解析しますが、巨大なデータコンテンツのために、データを更新してリモートデータベースに挿入するのに24時間かかります。 2データベースのオーバーヘッド。したがって、マスターデータベースからデータをダウンロードし、ローカルコピーを保存してから2番目のサーバーにFTPを実行し、その内容をデータベースにダンプするスクリプトを作成することを計画しています。それはファイルのサイズがCSVかSQLのどちらかで約30MBであり、まだ成長しているのにそれはお勧めですか?これに最適なソリューションは何ですか?masterデータベースとの同期

注:FTPにダウンロードして2番目のデータベースに挿入するすべてのスクリプトは、自動更新のためにcronによって処理されます。

答えて

0

私たちはどのような種類のデータベースについて話していますか?あなたは複製を見ましたか?

+0

両方のMySQLデータベース。まだ、私はまだ何か別の方法を探していますが、レプリケーションが最良の解決策であれば私はそれに入るでしょう。 – text

3

実際にはは、MySQLマスター - スレーブレプリケーションを考慮する必要があります。これは、すべての挿入/更新がスレーブサーバー上で行われていることを意味します。 マスタサーバは、スレーブが更新を追跡するために使用する(バイナリ)トランザクションログを保持するように設定する必要があります。

使いやすさの他にも、レプリケーションは連続プロセスであるため負荷を低く抑えます。

+0

これは、スレーブサーバに影響するメモリ割り当てや処理時間などを心配するものではありませんか? – text

+0

スレーブサーバは、マスタから開始された更新(挿入、削除、ドロップテーブル、再インデックスなど)の余分な「ロード」しか持っていません。 x時間ごとにダンプ/リストアするよりも優れています。 – Willem

関連する問題