0

私のチームは、データベースから読み取るリアルタイム アプリケーション (一連のチャート、ゲージなど) の開発を考えています。バックエンドには大容量の Teradata データベースがあります。他のいくつかのアプリケーションが、このデータベースに常にデータをフィードしていると予想されます。ここで、データベースからアプリケーションへの変更をどのようにフィードするかについて考えています。この場合、アプリケーションからのポーリングは実行可能なオプションではありません。

これを実現するために Teradata 内で利用できるツールはありますか?

これに関する指示は大歓迎です

4

3 に答える 3

0

同様の要件に直面しました。しかし、私たちの場合、クライアントは私たちに発注書テーブルに毎日の変更を提供するように依頼しました。つまり、テーブルに発生する変更をキャプチャするために、スクリプトのバッチを毎日実行する必要がありました。

そこで、私たちは毎日データを収集し、そのデータをまばらな履歴形式で別のテーブルに保存し始めました。したがって、ここでのプロセスは単純です。履歴テーブルの初日の日付に対して発注書の詳細レコードを収集します。そして翌日、翌日のフィードレコードを履歴レコードと比較し、そのレコードの変更を特定します。発注書のレコード列に変更があった場合、そのレコードを収集し、クライアントに表示される最終レポートテーブルに保持します。

バッチスクリプトを毎日1回実行し、レコードに1日に複数の変更がある場合、このメソッドでは完全な変更を行うことはできません。そのためには、要件に基づいて、バッチスクリプトを毎日複数回実行する必要がある場合があります。

他に解決策があればお知らせください。お役に立てれば。

于 2010-05-06T13:29:38.707 に答える
0

ストアド プロシージャを使用したトリガーはオプションですか?

CREATE TRIGGER dbname.triggername
AFTER INSERT ON db_name.tbl_name
REFERENCING stored_procedure

理論的に言えば、Java や C/C++ などで記述された UDF を呼び出す外部ストアド プロシージャを記述して、ほぼリアルタイムでアプリケーションに行データをプッシュすることができます。

于 2015-02-20T12:40:14.593 に答える
0

知恵の力から変更データ キャプチャ ツールがあります。 http://www.wisdomforce.com/resources/docs/databasesync/DatabaseSyncBestPracticesforTeradata.pdf

この場合はおそらくうまくいくでしょう

于 2010-07-29T06:45:06.193 に答える