您的位置: >> 首页 >> 数据仓库 >> Data Model >> 查看资讯

推荐给好友 上一篇 我要投稿 下一篇

构建混合数据仓库模型

实施

使用较标准的技术以数据库模式将模型转换为物理实施。使用规范化建模技术创建关系模式,根据 Ralph Kimball 的介绍创建维度模式。创建混合模式意味着,首先复制关系模式,然后在关系模式上搭建维度结构层次。(“文件描述”边栏列出了实施中最重要的文件,包括具有 DDL、系统验证、查询和用于生成示例代码的自动分析的文件。)

因为只使用了三个非关键属性,所以在每个表中添加了 SIZING 属性,类型为 CHAR(100),这样可使行大小更接近实际。

必须 设置某些数据库参数,以便出现星型连接并使用物化视图。重要参数如下所示:

NAME                           VALUE
------------------------------ --------------------
compatible                     10.2.0.1.0
optimizer_features_enable      10.2.0.1
optimizer_mode                 first_rows
pga_aggregate_target           83886080
query_rewrite_enabled          true
query_rewrite_integrity        stale_tolerated
sga_target                     167772160
star_transformation_enabled    true

按照 Oracle 文档中的详细描述使用 EXPLAIN PLAN 来验证是否出现星型连接。

三种模式都加载了相同的数据。加载了相同数据的最好证据就是,三种模式都对示例查询生成了相同的回答。

分析所用的数据量如下所示。

OWNER  TABLE_NAME     NUM_ROWS AVG_ROW_LEN LAST_ANALYZED
------ ------------ ---------- ----------- -------------------
DIM    ACCOUNT_DIM        2000         128 2006-01-14:19-51-56
       COVERAGE_DIM        900          17 2006-01-14:19-51-57
       POLICY_DIM         6000         128 2006-01-14:19-51-58
       PREMIUM_FACT    1371183          23 2006-01-14:19-52-14
       TIME_DIM           3600          21 2006-01-14:19-52-39
       VEHICLE_DIM       24000         130 2006-01-14:19-52-39
HYB    ACCOUNT            2000         128 2006-01-14:19-53-42
       COVERAGE         144000          28 2006-01-14:19-53-47
       POLICY             6000         142 2006-01-14:19-53-53
       PREMIUM         1373463          49 2006-01-14:19-54-41
       TIME_DIM           3600          21 2006-01-14:19-55-08
       VEHICLE           24000         144 2006-01-14:19-55-10
REL    ACCOUNT            2000         124 2006-01-14:19-39-22
       COVERAGE         144288          27 2006-01-14:19-39-30
       POLICY             6000         138 2006-01-14:19-39-31
       PREMIUM         1389963          29 2006-01-14:19-40-08
       VEHICLE           24000         139 2006-01-14:19-40-13


目的是为了提供足够大的数据量,以阻止优化程序走捷径,例如阅读整个表时阻止其使用索引及其他此类会破坏分析的优化技术。按照 Oracle 数据库数据仓库指南 10 g 第 2 版 (10.2) — 模式建模技术,如果优化程序发现“太小而不值得转换的表”,则星形转换可能不会发生。

实施的一个相当任意的目标是事实表至少有一百万个行。如果 QUERIES.SQL 生成的所有维度查询计划和混合查询计划都符合星型连接标准,则使用的数据量看来足够进行当前的分析。

由于弱实体必须以维度模式表示,因此维度模式中的 COVERAGE_DIM 行的行数较其他两种模式的 DIMENSION 表中的行数少。

以下为各种模式占用的空间:

OWNER           TOTAL_SIZE
--------------- ----------------
DIM                  129,499,136
HYB                  244,056,064
REL                  130,023,424

因为混合模式集关系和维度于一体,所以它的大小大概是关系模式和维度模式的大小之和,再除去所有通用元素,则得出以上数字。



10秒注册会员 结交数据仓库朋友 分享你的精彩

63/6<123456>

我来说两句

seccode