mysqlバックエンドを持つPHPアプリケーションを実行するサイトがいくつかあります。彼らは100%のインターネット接続時間を持たないかもしれないという事実のために、彼らはすべて別々のサーバーで動いています。複数のデータベースを同期状態に保つ方法
現在、すべてのレコードの変更日時を保存しています。レコードを削除済みとしてマークするフラグ。同期のために、私は削除を同期することができるように、追跡されたすべての削除されたレコードがまだ追跡する必要があります。
すべてのサイトは、同期した時点を追跡します。
問題はすべてのサイトで挿入と更新が行われることです。そのため、しばらくの間、サイトが切断された場合。それは他のすべてのサイトのデータ同期に問題を引き起こします。
すべてのサイトを同期させておく方法はありますか?
同期を行う現在のプログラムは、phpで書かれています。すべてのテーブルをループして、最後の同期以降に変更されたレコードをチェックします。
あなたは複製を排除しましたか? http://dev.mysql.com/doc/refman/5.0/en/replication.html – Marvo
[mysql replication](http://dev.mysql.com/doc/refman/)をセットアップできない場合は、 5.0/en/replication-howto.html)、あなたのデータに適した複製を作成する独自のスクリプトがあなたの唯一のアプローチです。実際にアプリケーション設計を概観し、データベースの障害に耐えるほど頑丈なものを作る方法を見てください。 – ghoti
私は複数のマスターを持っているので、複製は機能しません。また、データベースがこのように設計された理由は、インターネットの障害を許容することです。悪いインターネットリンクを介して複数のサイトを複製すると、間違った順序で更新プログラムの一部が実行される傾向があります。 – iWantSimpleLife