2017-10-20 11 views
4

私のデータベースには、各行がエンティティを表すテーブルがあり、同じエンティティが複数回表示される可能性のある他のテーブルがありますが、最新のエントリだけが有効です。最後の値だけを使用する必要があるテーブルを記述する用語はありますか?

たとえば、テーブルがcustomerの場合、各行は顧客を表し、別のテーブルcustomer_membership_statusは同じ顧客を複数回参照することができますが、各顧客の最後のレコードのみが使用されます。 customer_membership_statusでデータが更新されることはなく、挿入されるだけです。

このパターンを説明する用語はありますか?私は、他の人にテーブルの意図された使い方をすばやく簡単に説明したいので、私は尋ねています。

+0

イベントソーシング、ロギング、書き込み専用、バージョン管理 – lad2025

答えて

2

おそらく最高の用語はむしろ時点で実際のデータよりも、単一の集約に更新の競合を回避し、パフォーマンスを最大化する、書込みストアとしてイベントのストリームを使用CQRSevent sourcing

あろうそして、スケーラビリティ

イベントソーシングパターン

代わりのドメイン内のデータのちょうど現在の状態を保存する、アクションの全シリーズを記録するために追加専用ストアを使用しますそのデータに基づいています。ストアは記録システムとして機能し、ドメインオブジェクトを実現するために使用できます。これにより、データモデルとビジネスドメインを同期させずに、パフォーマンス、スケーラビリティ、および応答性を向上させ、複雑なドメインのタスクを簡素化できます。また、トランザクションデータに一貫性を持たせることができ、また、補償作業を可能にする完全な監査証跡や履歴を保持することもできます。

EDIT:

詳しく見た後、あなたも読んで、約SCD(Slowly Changing Dimension)タイプ2.この方法は、次元テーブル内の任意の自然キーの複数のレコードを作成することによって、過去のデータを追跡する

別々のサロゲートキーおよび/または異なるバージョン番号を使用します。無制限の履歴は、各インサートごとに保持されます。

+0

「顧客」のパターンの名前はどうですか? **従来の**テーブルとして参照するだけで正しいのでしょうか? – Marcos

0

時間表。これは、タイムスタンプ/バージョン属性がキーの一部であるテーブルです。 temporal/version属性を使用すると、どの顧客が最新の行であるかを識別できます。

関連する問題