谁能告诉我尝试将常规数据库用作数据仓库时会产生什么影响?
我知道数据仓库以更结构化的方式存储数据而闻名,但是使用标准数据库来实现相同结果的含义是什么?我们是否可以不只是创建一个包含结构化数据的常规数据库表,因为它会驻留在数据仓库中?
谁能告诉我尝试将常规数据库用作数据仓库时会产生什么影响?
我知道数据仓库以更结构化的方式存储数据而闻名,但是使用标准数据库来实现相同结果的含义是什么?我们是否可以不只是创建一个包含结构化数据的常规数据库表,因为它会驻留在数据仓库中?
数据结构不是问题——优化才是。
SQLS 等 OLTP 数据库经过优化,可以可靠地记录事务。它们将数据存储为记录,并广泛使用磁盘 I/O。
BI 数据库(如 Redshift 或 Teradata)针对查询数据进行了优化。它们将数据存储为列,并且通常仅在内存中(无磁盘 I/O)。
因此,传统数据库更擅长获取数据,而 BI 数据库更擅长获取数据(这两个平台都在努力减轻它们的弱点,因此差异变得模糊)。
实际上,您可以使用 SQLS 之类的常规数据库来构建数据仓库而不会出现任何问题,除非您有特殊需求:
您也可以将这两个平台结合起来。在常规数据库中导入、处理、集成和存储数据,然后将其转换为星型模式(维度模型)并将其发布到 BI 数据库(即,将规范化的数据保存在 SQLS 中,并将星型模式发布到 Redshift)。
如果您打算将数据导入 Tableau 或 PowerBI 等 BI 工具,那么您可以安全地使用任何传统数据库,因为它们依赖于其内部引擎,使用 BI 数据库不会给您带来任何优势。
数据仓库中也会有冗余或重复的数据,而不是您在常规数据库中寻找的数据