私の会社には、クライアントがオフラインでタスクを実行してからオンラインバージョンと同期できる製品があります。私たちはますます頻繁に成長している問題に遭遇しました。
問題は2つあります。
同期プロセス中に、データ損失がどこかで発生することがあるようです。MySQLバイナリログにその同期のデータがないことを除いて、これは大きな問題にはなりません。データベースには、一部のデータが書き込まれたことが示されていますが、ログに書き込まれたデータはありません(DBに書き込まれたデータも)。データベース内のデータとMySQLログの間で100%の一貫性を保証するソリューションが必要です。これが頻繁に発生するテーブルは、MyISAMまたはInnoDBのいずれかです(クライアントのサイズによって異なります)。
オフラインデバイスでは、データが頻繁に破損します。server2goパッケージ(WAMP)を使用して、PHP/MySQLベースの製品の派生物をデバイスでホストしています。より安定したプラットフォームを可能にするソフトウェアI/O抽象化以外の方法論はありますか?