センサーのリアルタイムデータを特定のテーブル(30秒ごと)に格納するPostgreSQLデータベースがあります。PostgreSQLのテーブルのデータをSQL Server 2005のテーブル(同じスキーマを持つ)に定期的に保存します。
私がやりたいことは、リモートのPostgreSQLデータベース(たとえば30秒ごと)から定期的にデータを取得し、それらをローカルに操作するためにSQL Server 2005に保存することです。 2つのデータベースに重複テーブルを持たせても構いません。実際にこれは私が達成したいものです!
これまでのところ、私はLinked ServerとしてPostgreSQLをSQL Serverに持っており、センサデータをクエリして取得できます。しかし、パフォーマンス上の理由からSQL Serverに格納することをお勧めします。これまで
ソリューション:
- がリンクのPostgreSQLと
select openquery
文を作成し、SQL Serverでの私のテーブルに結果を挿入します。これを定期的に繰り返し、新しいデータのみを保存します(たとえば、タイムスタンプが大きい場合など)。
私の提案する解決策は理想的ではないと思います。私は、2つのデータベース間でこの同期を達成するためのベストプラクティスが何であるかを知りたい。
ありがとうございます!
これを実行する原因となったパフォーマンス上の理由を説明してください。 – Kuberchaun
@JustBob PostgreSQLはリモートサイトにあります。 SQLサーバーとIIS Webサーバーは同じサイトに配置されています。私は、ウェブサイトを通じてクライアントにセンサーデータを表示したい。今まで私はリンクされたPostgreSQLサーバに問い合わせることができました。しかし、今や、センサデータ(例えば、温度が異常に上昇した場合に警報機関、火災を予測するためにセンサデータのパターンを分析するなど)に関する追加の作業を行う必要がある。 SQL Serverには "計測"の役割もあります。 PostgreSQLサーバではありません。クライアントは同じデータを何度も何度も要求することがあり、私は空間的な地域性を利用したいと考えています。 – xan8o5