在实施方面,有人能告诉我简单数据库和数据仓库之间的区别吗?
我知道数据仓库用于分析而不是保留记录,但我不明白它们在结构上有何不同
在简单数据库中,我们在数据仓库中有表等。我们如何从简单的数据库中创建数据仓库
在这两种情况下,我们都有查询,所以它们各自有何不同?
答案 0 :(得分:9)
差异在于实现,即表中数据的表示(结构)。
简单数据库通常在规范化表中构建,以便最大限度地减少冗余并优化对表的写入操作。这可以通过将大表分成更小和更少冗余的表来实现,以便将相同类型的数据隔离在一个位置,以便可以在一个表中进行字段的添加,删除和修改。然后通过它们之间定义的关系将较小的表连接在一起(这由外键完成),从而在检索数据时在表之间产生许多连接。
另一方面,数据仓库的结构仅用于读取操作,这就是数据仓库在数据中接受某种程度冗余的原因,因为这样可以提高读取速度。在数据仓库中,数据通常通过使用维度建模以所谓的Starschema方法构建。这意味着您有一个大表(Facttable),其中包含所有相关记录和度量(fx销售额以美元计),然后是许多描述因子表中的值的次要表(称为维度表)。 Dimensiontables可以是Date,SalesCountry,SalesPerson,Product等,它们都是从facttable描述销售额。然后维度表与具有外键的因子表相关联,从而创建一个星形图,其中中间的因子表以及围绕它的所有维度表以链接到它。
注意:这是一个非常简单的介绍,您当然应该参考一些数据仓库文献来阅读更多细节。寻找Ralph Kimball和Bill Inmon的书籍,他们是数据仓库领域的大师。
答案 1 :(得分:2)
假设您已经了解了一些有关OLTP数据库的知识,那么IBM红皮书有一些关于数据仓库的可下载标题,值得关注。
答案 2 :(得分:1)
从本质上讲,数据和表格的组织方式 - 以及更多......
读
答案 3 :(得分:1)
OLTP代表在线交易处理。在任何预订系统或技术术语中使用的系统" OLTP,是指一类促进和管理面向事务的应用程序的系统,通常用于数据输入和检索事务处理"
现在接下来的问题到了OLTP和数据仓库之间的区别是什么?
两者之间存在很多差异,因此我们将列出一些重要的差异:
最重要的区别是:OLTP通常为3NF(第三标准化表格),而数据仓库不在3NF。因此,我们也可以推断OLTP不会有任何类型的数据冗余。
数据仓库用于存储数月和数年的数据以支持历史分析,而OLTP系统存储数据数周或数月。因此,DB的大小也有很大差异。 OLTP使用100MB - 100GB,数据仓库使用100GB - 几TB。
OLTP的高度规范化结构有助于优化UPDATE / INSERT / DELETE等操作,其中Data Warehouse具有非规范化结构(Star Schema)以优化查询性能。
ETL过程定期推送数据仓库中的数据,最终用户不直接更新数据仓库,而在OLTP系统中,最终用户定期向数据库发出单独的数据修改语句,因此OLTP系统是最新的。
这些是OLTP和数据仓库之间的一些重要区别。