谁能告诉我简单数据库和数据仓库在实现方面的区别?

我知道数据仓库用于分析而不是保留记录,但是我不了解它们在结构上有何不同

在简单的数据库中,我们有表,在数据仓库中也有。我们如何用简单的数据库制作数据仓库

在这两种情况下,我们都有查询,因此每个查询有何不同?

最佳答案

区别在于实现方式,即表中数据的表示形式(结构)。

通常在标准化表中构建一个简单的数据库,以最大程度地减少冗余并优化对该表的写入操作。这可以通过将大型表划分为较小和较少冗余的表来实现,以便将同一类型的数据隔离在一个位置,以便仅可以在一个表中进行字段的添加,删除和修改。然后,较小的表通过它们之间定义的关系连接在一起(这是通过外键完成的),从而导致在检索数据时在表之间进行许多联接。

另一方面,数据仓库仅用于读取操作,这就是为什么数据仓库接受数据中一定程度的冗余的原因,因为这可以加快读取速度。在数据仓库中,通常通过使用维建模以所谓的Starschema方法构造数据。这意味着您有1个大表(Facttable),其中包含所有相关记录和度量(fx销售金额为$),然后是许多次要表(称为维表),它们描述了事实表中的值。
维度表可以是诸如Date,SalesCountry,SalesPerson,Product等之类的,它们都描述了事实表中的销售额。然后,将尺寸表与带有外键的事实表相关联,从而创建星形图标,其中该事实表位于中间,并且围绕它的所有尺寸表均以一个与之链接的圆构成。

注意:这是一个非常简单的介绍,您当然应该引用一些数据仓库文献以了解更多详细信息。寻找Ralph Kimball和Bill Inmon的书,它们是数据仓库领域的专家。

关于database - 数据仓库和数据库在实现上的差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7778665/

10-11 05:23
查看更多