0

まず第一に、私は分散DBの世界に不慣れですが、とにかくシナリオは次のとおりです。

米国、スウェーデン、オーストラリアに3つのサーバーがあり、同じWebアプリケーションがmysql DB(同じ構造)を使用してすべてのサーバーにデプロイされています。異なるユーザーがこれらのアプリケーションを使用しており、3つのDBすべてが異なるデータを持っているため。これからは、サーバーのいずれかでデータに変更が自動的に発生した場合、毎回DBデータを同期する必要があります。最適化されたソリューションとは何かを教えてください。

または、すべてのWebサーバーに1つの同じDBサーバーを使用すると、アプリケーションの速度が低下しますか?

まずは何か提案してください。

4

2 に答える 2

0

これはまさにレプリケーションの目的です。

http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

編集: Web アクセラレータ会社 (Akamai など) を使用している場合を除き、応答時間が遅いため、単一のサーバーを使用することはお勧めしません。

于 2011-07-15T13:25:18.873 に答える
0

標準の MySQL レプリケーションを使用する場合に直面する問題がいくつかあります。

  1. MySQL のレプリケーションは基本的にマスター -> スレーブです。そのため、マスターで更新が行われ、スレーブに複製されます。これは非常に効果的ですが、通常、2 つの場所の更新は遅くなりますが、読み取りは通常の速度になります。

  2. 1 の結果 - トランザクションはマスターで発生するため、新しいレコードを作成して LAST_INSERT_ID() を取得し、それを別のテーブルに挿入する場合、すべての読み取りと書き込みは MySQL マスターに行く必要があります。トランザクションが完了するまでスレーブ。

  3. 既存のデータを 1 つのデータセットに統合できますか? そうでない場合は、問題が発生する可能性があります。

  4. アプリケーションは「オフィス対応」です。つまり、複数のオフィスのデータをまとめても機能するのでしょうか? アプリケーションは、それが置かれているオフィスに基づいてデータに関する仮定を行っていますか?

于 2011-07-15T13:47:00.837 に答える