使用常规数据库作为数据仓库

时间:2018-10-16 15:54:42

标签: database etl data-warehouse datamart

有人可以告诉我在尝试将常规数据库用作数据仓库时的含义吗?

我知道数据仓库以结构化的方式存储数据而闻名,但是使用标准数据库实现相同结果意味着什么?难道我们不仅可以像使用数据仓库中那样使用结构化数据创建常规数据库表吗?

2 个答案:

答案 0 :(得分:1)

数据结构不是问题-优化是问题。

像SQLS这样的OLTP数据库经过优化,可以可靠地记录事务。它们将数据存储为记录,并广泛使用磁盘I / O。

诸如Redshift或Teradata之类的BI数据库经过优化,可以查询数据。它们将数据存储为列,并且通常仅在内存中(无磁盘I / O)。

结果是,传统数据库更擅长获取数据,而BI数据库更擅长获取数据(两个平台都在试图缓解其弱点,因此两者之间的差异正在变得模糊)。

实际上,您可以使用SQLS之类的常规数据库来构建数据仓库而不会出现任何问题,除非您的需求很特殊:

  • 数据量很大(数十亿条记录)
  • 刷新率很高(小时/分钟/实时)
  • 您打算使用Tableau或PowerBI等BI工具的实时连接(而不是将数据提取加载到其中)
  • 您的查询非常复杂且计算量很大

您还可以组合使用这两个平台。在常规数据库中导入,处理,集成和存储数据,然后将其转换为星型模式(维模型),然后将其发布到BI数据库(即,将规范化的数据保留在SQLS中,并将星型模式发布到Redshift)。

如果您打算将数据导入Tableau或PowerBI之类的BI工具中,则可以安全地使用任何传统数据库,因为它们依赖于其内部引擎,而使用BI数据库不会给您带来任何优势。

答案 1 :(得分:0)

数据仓库中也会有重复或冗余的数据,这并不是你在常规数据库中寻找的东西。