1

ローカルにインストールされたコンポーネント (Windows サービス + UI、ローカル ハードウェアと対話) を備えたアプリケーションを開発しています。このコンポーネントは、そのデータを Azure クラウド ベースのアプリケーション (データの集中化、レポート作成など) と同期します。ローカル コンポーネントはオフラインで機能できる必要があります (接続のないリモート サイトで 1 週間程度)。さらに、サイトにはアプリケーションをホストする複数の PC がある場合があり、それらのローカル アプリケーション インスタンスは、クラウド アプリケーションから切断されている場合でも、相互に同期を維持する必要があります。

  • 企業ごとに 10 から 100 のサイトがあり、それぞれに 10 ものローカル アプリケーションがインストールされると予想されます。
  • 私たちは主に .NET/C# 開発者です。
  • フィルタリングはレコード レベルで適用され、主に、場合によっては制限された WAN 接続を介して新しいサイト/マシンをプロビジョニングできるようにし、継続的にサイトで転送および保存されるデータの量を減らすために必要です。
  • Azure/SQL Azure/.NET に固執したいと考えています。

私はさまざまなオプションを検討してきましたが、すべてが不十分なようです。

  • MS Sync Framework は放棄されたようです (間違っていますか? SQL Compact 4 はサポートされていませんか?)。また、フィルタリングに関していくつかの制約があるようで、モニタリングと問題の修正に関して非常に不透明であり、フィルタリングが適用されると知識の断片化に問題が生じる可能性があります。
  • MS 以外の組み込みリレーショナル データベースは、同期メカニズムを提供しないか、ハブ アンド スポークに限定されているか、1 年間更新されていないように見えます (例: empress)。
  • No-SQL データベース (そして、私が見たのは約 20 個だけであり、表面的なものであることは認めます) は、実際にすべてのノード間でデータを複製するのではなく、データとクエリの負荷を分散することに重点を置いているようです。WAN から切断されたときに、LAN 上のピア間の同期を可能にするものは見つかりませんでした。

クラウドから切断されたときに LAN 上のピアの同期を維持したいという欲求を無視しても、.NET/Azure からのレコード レベルのフィルター処理された同期をサポートする組み込みデータベースを見つけることができませんでした。

誰かが同様の問題に取り組み、解決策を見つけましたか? この場合、独自のソリューションを構築することは理にかなっていますか?

4

1 に答える 1