时态数据库和历史存档数据库之间有什么区别?

pro*_*ice 12 database

这里说:

http://www.ibm.com/developerworks/web/library/wa-dbdsgn2.html

数据库中的每个表都应该有一个历史表,镜像主表的整个历史记录.如果要更新主表中的条目,则在进行更新之前,首先将记录的旧内容复制到历史表中.同样,主表中删除的记录在从主表中删除之前会被复制到历史表中.历史记录表始终具有相应主要名称的名称,但附加了_Hist.

在时间数据库中,请参阅此处时间数据库建模和规范化,据我所知,没有单独的表.

那我什么时候应该创建另一张桌子呢?

DVK*_*DVK 8

罗伯特理论上说的是什么 - 没有什么可补充的.

实际上,时态表与主+ hist表有其他含义.

对于维护量很大的数据(例如,更新/删除数量大大超过插入数据),具有历史记录(有时也称为"审计" - 因为它是强制执行DB数据审计跟踪的主要机制)表允许保持主表合理地小与将审计信息保留在主表本身内相比.这对主表上的选择和插入都有重要的性能影响,特别是考虑到下面讨论的索引优化.

最重要的是,hist/audit表上的索引不需要与主表100%相同,这意味着您可以省略从hist数据库查询审计数据所不需要的索引(从而加快插入到审计表中),副反之,优化您拥有的特定审计查询的索引(包括通过聚集索引按时间戳排序表),而不会使主表与那些减慢数据更改的索引相关(并且在更新时聚集的情况下,与之冲突)主表的聚集索引,所以你通常不能按时间顺序聚集它).


Rob*_*vey 6

历史表提供用户对主数据库记录所做的(通常是非时间的)更改的历史记录.这段历史本质上是档案(即偶尔出于历史目的而访问).时间信息(当进行改变时)本质上是次要的.

临时数据库专门用于执行时间查询.时间信息本质上是主要信息,并保持在线以便立即检索.除非还需要进行归档,否则不会创建第二个表.

http://en.wikipedia.org/wiki/Temporal_database