在我们的测试 DWH 服务器上,我们使用 Vertica Community Edition。我们对 ETL 流程和查询性能非常满意。

我们从几个来源(Informix、SQL Server、MySQL、Google Docs)导入数据,将其放入一个模式中,并带有前缀 业务流程名称_阶段_

在 ETL 过程结束时,有许多表称为 业务流程名称_事实businessProcessName_dim_dimName 和少数 共享_dim_dim名称.

是否需要将这些表分隔在不同的模式或不同的数据库中?同样的问题也适用于 DWH 内的数据集市。

我们主要使用星型模式,很少使用片状模式,甚至还有一个平板设计的数据集市。

有帮助吗?

解决方案

大多数数据库系统使用数据库级别作为最高逻辑层次结构。但是,Vertica 只允许单个数据库同时运行。这意味着逻辑设计发生在模式级别。例如,传统的数据库系统可能具有诸如 customersorders. 。在 Vertica 中,这些将在架构级别进行标识。

组织之间的逻辑组织和命名约定各不相同。重要的是它是标准的并且使用一致。您可能想要查看逻辑上组合在一起的内容,并对表进行相应的分组。例如,每个业务流程名称可以有自己的架构(business_process_name.fact_table)。即使您只有很少的表,最好的做法是明确而不是使用单个模式。如果将来添加额外的表,管理起来会更容易。

使用模式的另一个好处是便于管理。执行备份或维护任务时,可以在架构级别执行。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top