複数のクライアントとサーバー環境にまたがる、常時接続されていない分散型データベースを持つ最善の方法は何ですか?
私は、分離された Windows クライアントを持つマルチテナント Web アプリを構築しています。システム内のエンティティには、連絡先、タスク、アクティビティなどが含まれます。これらのエンティティの多くは、サーバーから切断されている間にクライアント側で作成されます。クライアントがスタンドアロン モード (現在のバージョン) で動作している場合、クライアントはサーバーに接続できません。
ここで、エンティティがクライアントで作成されたときに、サーバー側で競合が発生しないようにしたいと考えています。これは、GUID を主キーとして使用するのに最適な仕事のように見えます。エンティティの数が少ないクライアント側では問題にはなりませんが、サーバー側では潜在的に問題になるのではないかと懸念しています。 GUID のランダムな性質により、ルックアップが非常に非効率になります。
さらに、どの時点 (つまり、どのテーブル) で、主キーで GUID を使用する必要がなくなったのですか? たとえば、タスクに一連のメモ (1:N) があるとします。メモについて特に特別なことは何もありません。アクセス可能 - これらの種類のエンティティをキーイングする効率的な方法はありますか?