谁能告诉我简单数据库和数据仓库在实现方面的区别?
我知道数据仓库用于分析而不是记录,但我不明白它们在结构上有何不同
在简单的数据库中,我们在数据仓库中有表等.我们如何从简单的数据库中创建数据仓库
在这两种情况下,我们都有查询,那么它们各自的不同之处是什么?
解决方法
差异在于实现,即表中数据的表示(结构).
简单数据库通常在规范化表中构建,以便最小化冗余并优化对表的写入操作.这可以通过将大表分成更小和更少冗余的表来实现,以便将相同类型的数据隔离在一个位置,以便可以在一个表中进行字段的添加,删除和修改.然后通过它们之间定义的关系将较小的表连接在一起(这由外键完成),从而在检索数据时在表之间产生许多连接.
另一方面,数据仓库的结构仅用于读取操作,这就是数据仓库在数据中接受某种程度冗余的原因,因为这样可以提高读取速度.在数据仓库中,数据通常通过使用维度建模以所谓的Starschema方法构建.这意味着您有一个大表(Facttable),其中包含所有相关记录和度量(fx销售额以美元计),然后是许多描述因子表中的值的次要表(称为维度表).
Dimensiontables可以是Date,SalesCountry,SalesPerson,Product等,它们都描述了facttable中的销售额.然后,维度表与具有外键的因子表相关联,从而创建星形图,其中中间的因子表以及围绕它的所有维度表在链接到它的圆圈中.
注意:这是一个非常简单的介绍,您当然应该参考一些数据仓库文献来阅读更多细节.寻找Ralph Kimball和Bill Inmon的书籍,他们是数据仓库领域的大师.