有人可以帮助我理解生产模式和数据仓库模式之间的区别。
3 回答
不要称其为“生产模式”。将其称为“事务模式”或 OLTP。
要使更新工作,它必须(至少)采用第三范式(3NF)。
数据仓库使用“Star Schema”,根据不同的规则进行规范化。由于更新的发生方式与它们在事务数据库中的发生方式不同,因此设计的规范化完全不同。
阅读第三范式。
阅读星型模式设计。
有很多很多非常好的谷歌链接。
更好的是,Kimball 的 The Data Warehouse Toolkit 书。这很清楚。
生产、操作、事务是针对数据存储和管理优化的“标准规范化 (3NF) 数据库”。数据仓库 (DW) 星型模式针对报告和分析进行了优化。从业务用户的角度来看,数据仓库是只读的。DW 是非规范化的——一条信息在许多地方重复——所以它们只通过“加载程序”(ETL)更新,没有用户交互。这是星型模式的示例。
在我目前的工作中,我们使用术语“事务”和/或 OLTP(感谢 S.Lott)来表示代表业务数据“当前”状态的数据库/模式。“分析”和/或 OLAP 数据库/模式拥有更多的历史数据。通常我们会拍摄当前数据的“快照”(将新行写入新表,在设计上与事务表类似),然后对其进行日期标记和/或为其分配“批处理”ID。然后我们可以很容易地分析这些数据是如何随时间变化的。
例如:您可以查看公司名称的更改方式和时间。在某些情况下,这是有用的信息。在其他情况下,您只需要当前名称。将这两个场景拆分到不同的表/数据库中意味着您不必担心总是在历史表中查找“最近”的记录;所有这些信息都已被移开。另一个用途是如果您需要根据过去的数据重新生成报告(如果您想要“该数据当时如何回顾?”视图)。
这不一定是“正确”的定义......但它是一个有用的定义。