在我的数据库中有表格,其中每一行代表一个实体,还有其他表格,同一实体可以多次出现,但只有最新的条目是有效的。
例如,我有一个表customer_membership_status
,其中每一行代表一个客户,另一个表{{1}},其中可以多次引用同一个客户,但只有每个客户的最后一条记录支持使用。数据永远不会在{{1}}中更新,只会插入。
是否有术语来描述这种模式?我问,因为我想快速轻松地向其他人解释该表的用途。
答案 0 :(得分:2)
最好的术语可能是CQRS和event sourcing
使用事件流作为写入存储,而不是某个时间点的实际数据,可以避免单个聚合上的更新冲突,并最大限度地提高性能和可伸缩性
事件采购模式
不使用仅存储数据的当前状态,而是使用仅附加存储来记录对该数据采取的全部操作。该存储充当记录系统并可用于实现域对象。这可以简化复杂域中的任务,避免同步数据模型和业务域,同时提高性能,可伸缩性和响应能力。它还可以为事务数据提供一致性,并维护可以实现补偿操作的完整审计跟踪和历史记录。
修改强>
仔细观察后,您还可以阅读有关SCD(Slowly Changing Dimension)类型2的信息。
此方法通过使用单独的代理键和/或不同的版本号为维表中的给定自然键创建多个记录来跟踪历史数据。每个插入都保留无限的历史记录。
答案 1 :(得分:0)
时间表。它是一个表,其中时间戳/版本属性是键的一部分。 temporal / version属性允许您识别每个客户的最新行。