問題タブ [data-synchronization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 2 つの .net アプリケーションを同期
おはよう/午後/夕方!
CRM (カスタマイズされた SplendidCRM) と自家製モンスター (crm+cms+backoffice) の 2 つのシステムがあります。
- CRM - Asp.Net 2.0 Web サイト、Sql Server 2008; ビュー、ストアド プロシージャ、トリガーを使用して実装。たとえば、監査はトリガー + SP として実装されます。WebSite はシンプルな UI です。Ado DataSet は Dtos として使用されます
- 自家製モンスター - Asp.Net 3.5 WebApplication、SqlServer 2008; ListToSql を使用して実装。Sql サーバーはストレージとしてのみ使用されます。c# コードで実装されたすべてのロジックと監査。VS のデザイナーが生成したクラスは、Dtos として使用されます。
それらの間に「二重」同期を実装する必要があります。
同期は「ほぼリアルタイム モード」で動作する必要があります。遅延は許容されます。多くのデータはありません。現在、約 35000 オブジェクトと 120000 監査エントリがあり、最大で 100000 オブジェクトになる可能性があります。オブジェクトも大きくありません (データベースの 60 列)。
どちらのシステムにも、更新を可能にする API があります。Crm 用の Web サービスと自家製モンスター用の Wcf サービスです。モンスターのため、実装の変更は Wcf サービスを介してのみ適用できます (監査が機能するためなど)。Crmについては、Webサービス呼び出しまたは直接SP呼び出しによって更新できます(ただし、Webサービスが望ましいです)。
現在、Crm にはオブジェクトの外部 ID を保持する列があり、一種の同期がありますが、より堅牢で専門的なソリューションが必要です。
何らかの理由 (管理者の失敗または間違った更新プログラムの適用) により、両方のシステムが「オフライン」になることがあります。これは同期には影響しません。システムが復旧したらすぐにすべての更新を適用する必要があります。自家製のモンスターからのデータが優先され、Crm からの変更を上書きすることが重要です。
問題は、どのテクノロジ/ライブラリを使用するのが適切かということです。同期を「システム外」で行うことができればよいでしょう (システムはデータが変更されたというイベントを発生させ、外部ツールは変更を同期します)。これはシステムによるものであり、同期ルールは頻繁に変更される可能性があります。たとえば、ある条件で Crm からオブジェクトを削除する最初の「バージョン」の同期、2 番目のバージョンでは削除せずにエクスポートするデータが少なく、「3 番目のバージョン」ではより多くのデータがエクスポートされます。両方のシステムに共通のフィールドが追加されました。この変更は将来表示されるため、他のシステム (またはそれら以外) には触れず、同期ルールのみを変更したいと思います。
ajax - データがクライアントにとって大きすぎる場合に、信頼性の低いクライアントとサーバーの間でデータ構造を同期する
概要:
すべてのデータをメモリに保持できず、切断し続けるクライアントと非常に大量のデータを同期するにはどうすればよいですか?
説明:
Web 上にデータを表示するリアルタイム (ajax/comet) アプリがあります。これは、ビューが Web 上にあり、モデルがサーバー上にあると考えるのが好きです。
サーバー上に多数のレコードがあり、それらすべてが常に追加/削除/変更されているとします。問題は次のとおりです。
-これは Web であるため、クライアントは多くの接続/切断を行う可能性があります。クライアントが切断されている間、データが変更されている可能性があり、再接続時にクライアントを更新する必要があります。ただし、データが非常に大きいため、再接続のたびにすべてのデータをクライアントに送信することはできません。
- 非常に多くのデータがあるため、明らかにクライアントにすべてを送信することはできません。数千のメッセージを含む Gmail アカウントや、世界中の Google マップを考えてみてください。
最初に、関連するデータのサブセットの完全なスナップショットがクライアントに送信され、その後は増分更新のみが送信されることを認識しています。これは、ある種のシーケンス番号を通じて行われる可能性があります... クライアントは「受信した最後の更新は #234 でした」と言い、クライアントは #234 と #current の間のすべてのメッセージを送信します。
また、クライアントビューがサーバーに100〜200のレコードを「表示」していることを通知することも認識しています。
ただし、これらすべてを自分でコーディングするという考えは嫌いです。ライブラリ(または少なくとも段階的なレシピ)がすでに存在している必要があるという一般的かつ一般的な問題があります。
Javaまたはnode.jsでこれを行うことを検討しています。他の言語で解決策が利用できる場合は、喜んで切り替えます。
android - デバイスsqliteからサーバーへのAndroidデータ同期
私のアプリケーションには、2 つのデータ管理ソースがあります。1 つは Web サービス経由で、もう 1 つはデバイス自体の SQLite データベースでスタンバイです。これで、デバイスからサーバーへ、および Web サービスが利用可能な場合はサーバーからデバイスへデータを転送する機能を追加したいと考えています。この実装を実行するための最良の方法を提案してください。
android - sqlite dbをサーバーに送信するAndroidユーティリティ
私のアプリケーションでは、ローカルの sqlite データベースに保存されているデータをサーバーの sqlserver データベースに送信したいと考えています。Androidが.dbファイルを直接送信してサーバーのコンテンツを読み取るためのユーティリティはありますか? 複数の挿入ステートメントを記述すると、コードが非常に長くなり、主キー違反が発生します。助けてください。
objective-c - iOS アプリ間でデータを同期するための適切なソリューションは何ですか?
私はコア データを介してデータ管理を実現するアプリケーションを開発しており、2 つの異なるデバイス間 (最終的には iDevices と Mac 間でも) でデータを同期する機能を実装する方法を研究しています。
これまでのところ、興味深いものや有用なものは何も見つかりませんでした。そのため、良い出発点、ガイド、または従うべきモデルを求めています. このようなことに気づいたことがありますか?
アップデート
私はこの質問に対して報奨金を開始しました。iOS での同期は難しい作業になる可能性がありますが、デバイス間の同期機能を提供するアプリはたくさんあります。私の質問は次のとおりです。彼らはどのようにこれを行うのですか? 最善のアプローチは何ですか?さまざまなソリューションとは何ですか?
更新 2
iCloud がほぼ 1 年前にリリースされたので、この質問は確かに時代遅れです。デバイス間のモバイルデータの同期に関する興味深い洞察を提供できるので、それを生かしておきたいと思います。
php - SQLデータベースの同期
PHPとSymfonyフレームワークを使用してアプリケーションを開発しています。理想的には、システムはリモートサーバー上で実行されるため、どこからでもオンラインで利用できます。ただし、オフラインでの可用性も必要です。
このため、システムはリモートサーバーとローカルサーバーの両方で実行されます。デフォルトでは、クライアントはローカルサーバーにアクセスし、施設の外にいる場合にのみオンラインで動作します。
したがって、クライアントとの対話なしに、ローカルデータベースとリモートデータベースの両方で行われた変更に対してデータベース同期を実装する必要があります。可能であれば、データベースを同期し、バックグラウンドで実行されているデーモンである必要があります。マスターデータベースはローカルデータベースになるため、競合が発生した場合はマスターデータベースが優先されます。
使用するDBシステムを決定していません(サポートされているDBならどれでも使用できるようにDoctrineを使用しています)。そのため、シナリオで最も準備が整った、または利用可能なソリューションを備えたシステムを実際に検討しています。
ソリューションは、クライアントとの対話を必要としない限り、商用かどうかに関係なく、専用のアプリケーションにすることができます。
sql-server-2008 - SQLServerから別のデータリポジトリへのリアルタイムの一方向同期
このポータルに関する以前の質問では、SQLServerとKey-Valueベースのデータリポジトリ間でデータを同期することについての洞察について質問しました。
同じ問題(SQLからHBaseまたは他のデータベースへの一方向のリアルタイム同期)の代わりに、パフォーマンスとレイテンシーの考慮事項に注意を払う必要があり、それを行うための非常に確実な方法は見つかりませんでした。
複数のSQL2008データシャードがあり、データはさまざまなソースから更新され、同時に多くのプロセスによって処理されます(UIは同じシャードから読み取ります)。
目標は、選択したテーブルのすべての更新をいつでも取得し、それらをほぼリアルタイムで他のデータソースに転送することです。
SQLシャードの変更量は、100〜500 MBの範囲にとどまります(1分の頻度を維持する場合)。システム全体を移行した後にSQLサーバーを破棄するため、SQLサーバーに大きな変更を加えたくありません。
残念ながら、私たちのデータアクセス層はさまざまな層で混乱しています。そうでなければ、それは2つの方向に更新をフォークするための最良の方法でした。
トリガーはシャードの速度を低下させ、応答しない状態のままにします。
SQLServer2008にSQLServer2005通知サービスに類似したものがあるかどうか、およびそれがどれほど効果的かはわかりません。
他の革新的なソリューションは非常に役立ちます。
ここでの私の問題は、データをリレーショナル形式からキー値形式に変換することではなく(かなり簡単です)、ユーザーエクスペリエンスに影響を与えることなくSQL Serverの更新をリアルタイムで取得する方法(1〜2分の遅延を許容できる)です。 。
ftp - Aptana FTP の構成
まだアップロードする必要があるファイルを表示するように Aptana を構成したかったのです。Aptana にそのようなオプションはありますか? いくつかのファイルをローカルで変更してテストするとします。しかし時々、それらをサーバーに FTP 送信するのを忘れます。aptana はそれを示すのに十分スマートです。私のサーバーがいくつかのプラグインがインストールされたSVNリポジトリである場合、そうなることがわかっています。しかし、サーバーが SVN または CVS リポジトリでない場合は?
誰でもこれで私を助けることができますか?
ありがとう、ムラリ。
c# - 単一のデータベースと多くのユーザーのデスクトップアプリケーション
私はこの概念に慣れていないので、次のシナリオで何を使用するのが最適かについてのガイダンスが必要です。
、などparts Stock
の多くの機能を含むデスクトップアプリケーションを作成する必要があります。Employees Data
Company Cars Data
現在の問題は、多くのユーザーがアプリケーションを使用しており、このアプリケーションがインストールされているさまざまな都市にオフィスがあることです。
データベースにデータをアップロードすると、他のデータが反映され、他のデータが即座に更新されるスキームが必要です。たとえば、さらに多くの車が追加された場合、使用しているすべての人が自分の車のリストを更新します。
私は使用することを考えていましたwebservices
。データはWebサイトのデータベースのどこかに保存して、すべてのアプリケーションがたとえば20秒ごとにリストを更新するようにする必要があります。
どんな助けでも大歓迎です
cocoa - CoreData を iCloud と同期できますか?
CoreData アプリを iCloud と同期できるかどうか、またその方法を知っている人はいますか? Apple iCould の指示を正しく理解していれば、CoreData を同期することはできませんか?