3

有人可以谈谈处理短期内高度瞬态的数据的“常见做法”或一般“可接受的做法” - 但必须具有多年的历史存在......

以一家小型旅游公司为例 - 预订旅游。乘客清单将是高度流动的,直到旅行......一旦旅行完成 - 数据在技术上已经过时,但对于报告或趋势很有用......

使用 HIGH 音量 - 巡演的“搜索”或“创建” - 数据库会变得很厚,数据只会很少改变。

具有相似结构的表是否常见 - 将数据从一个状态“移动”到另一个状态(PRE/POST 事件)......就像在将数据仓库存储到半平面结构以进行“纯”报告之前的过渡

这是可取的,常见的还是正确的?有没有更好的方法来做到这一点......或者圆顶 DBA 会进来并去“你在想什么 WTF”

4

2 回答 2

1

标准将是有某种标志来指示记录过时。有几种方法可以让您很好地处理性能问题,例如修剪和索引技术。这些可能还包括某种归档策略。您可能会将旧数据从表中移出(频率和时间取决于性能要求),或者将某种批量插入到具有相同结构的历史表中(实际实现方式取决于您的 DBMS,但选择最健壮的方法)或更好的排序或分区策略,如果您的 DBMS 具有健壮的分区系统。如果需要历史数据的分析师与运行操作系统的人不同,您还可以考虑某种多数据库归档策略。

于 2012-07-23T17:51:22.187 回答
0

当然,这样的设计决定取决于其他因素。但是,一般来说,将数据从一个表移动到另一个表并不是一个好主意。

更好的选择是在您的记录中记录生效日期和结束日期。因此,如果有人报名参加巡演,那么他们的记录就会以该日期的有效日期开始。如果他们退出,那么那个人就会得到结束日期。如果他们再次注册,他们将获得新记录,并具有新的生效日期。

这使您可以在过去的任何时候重建历史。

于 2012-07-23T15:34:59.183 回答