2017-10-20 21 views
4

Dans ma base de données, il y a des tables où chaque ligne représente une entité, et il y a d'autres tables où la même entité peut apparaître plusieurs fois, mais seule la dernière entrée est valide. Par exemple, j'ai une table customer où chaque ligne représente un client et une autre table customer_membership_status où le même client peut être référencé plusieurs fois, mais seul le dernier enregistrement pour chaque client doit être utilisé. Les données ne sont jamais mises à jour dans customer_membership_status, uniquement insérées.Existe-t-il un terme pour décrire les tables où seule la dernière valeur doit être utilisée?

Existe-t-il un terme pour décrire ce modèle? Je demande parce que je voudrais expliquer rapidement et facilement l'utilisation prévue de la table à d'autres.

+0

recherche d'événement, consignation, écriture seulement, version – lad2025

Répondre

2

Probablement le meilleur terme serait CQRS et event sourcing

Utilisation du flux d'événements comme le magasin d'écriture, plutôt que les données réelles à un moment, évite les conflits de mise à jour sur un seul agrégat et maximise la performance et l'évolutivité

modèle Sourcing événement

au lieu de stocker seulement l'état actuel des données dans un domaine, utilisez un magasin append uniquement pour enregistrer la série complète d'actions pris sur ces données. Le magasin agit comme système d'enregistrement et peut être utilisé pour matérialiser les objets du domaine. Cela peut simplifier les tâches dans des domaines complexes, en évitant de devoir synchroniser le modèle de données et le domaine métier, tout en améliorant les performances, l'évolutivité et la réactivité. Il peut également fournir une cohérence pour les données transactionnelles et maintenir des pistes d'audit complètes et un historique permettant de compenser les actions.

EDIT:

Après regarder de plus près, vous pouvez également lire SCD(Slowly Changing Dimension) type 2.

Cette méthode suit les données historiques en créant plusieurs enregistrements pour une clé naturelle donnée dans les tableaux des dimensions avec des clés de substitution séparées et/ou des numéros de version différents. L'historique illimité est préservé pour chaque insertion.

+0

Qu'en est-il du nom du modèle pour 'client'? Serait-il correct de simplement se référer à un tableau ** conventionnel **? – Marcos

0

Table temporelle. C'est une table où un attribut timestamp/version fait partie d'une clé. L'attribut temporal/version vous permet d'identifier la dernière ligne pour chaque client.