ステージング テーブルは、rpc (Java RMI や何らかの Web サービス呼び出しなど) またはメッセージング キュー (JMS など) がより適切なソリューションである場合に使用されるアンチ パターンですか? それとも、ステージング テーブルの方が適している問題はありますか?
明確にするために:
ステージング テーブルとは、プロセスによってレコードがテーブルに追加され、2 つまたは複数のプロセスによって読み取られ、処理される場合を意味します。間隔の終了ステータス (1 日の終わり、支払い期間の終了など) を反映することを意図したテーブルについて言及しているのではありません。ほとんどの場合、ステージング テーブルのスキーマは、顧客やアカウントなどのアプリケーション データ型を厳密に模倣しています。
このアンチパターンの潜在的な原因:
1) 2 つのプロセスの所有者間のビジネス ユニット ウォールは、ステージングへの書き込みまたは読み取りを行うプロセスが変更されるのを防ぎます。
2) ステージングへの書き込みまたはステージングからの読み取りプロセスの信頼性が低いため、開発者は「何かが失敗した場合に」データの損失を防ぐためにテーブルを使用するようになります
3) 知識の欠如または DGAS (^%$@ を与えないでください) の態度