低接続環境におけるマルチマスターデータベース

低接続環境におけるマルチマスターデータベース

私は、接続が頻繁に失われることが予想されるリモート環境に多数のクライアント デバイスが分散されているプロジェクトに取り組んでいます。クライアントはオフラインでも動作を続けます。ただし、これらのデバイスがアクセス可能な場合は、クラウド内の一連のサーバーからコマンドを受信し、同じサーバーにステータスを伝えます。

クライアント デバイスとサーバーは両方とも「アカウント残高」に関する情報を保持しており、その情報は両端で変更可能です。つまり、アカウント残高はクラウド インターフェイスまたはローカル クライアント インターフェイスのユーザーによって変更でき、これらの変更はクライアントがオフラインの場合でも行うことができます。

これはある意味で「マルチマスター」データベース セットアップであると理解しています。この種のトポロジの管理に役立つプロジェクトは何かあるのでしょうか。同様のプロジェクトの例はありますか? または、検討する価値のある他のアーキテクチャはありますか?

答え1

Tungsten は、本質的にあなたが求めている非同期マルチマスター アーキテクチャでセットアップでき、さまざまな DB で使用できます。https://code.google.com/p/tungsten-replicator/

アプリケーションは、Tungsten を利用してローカル MySQL バックエンドを使用するように設定でき、オンラインのときはいつでも他のサーバーと同期します。オフラインの場合、更新は再びオンラインになるまでキューに入れられます。クライアントは、VPN または同様のもの (例: HTTPS / SSH トンネル) を介して接続する必要があります。

関連情報