主流的网站建设的软件,个人网站制作成品,音乐播放网站开发pc端,莘县聊城做网站大维度
大维度很深#xff0c;有很多记录。大维度很宽#xff0c;有很多属性。满足任何一种情况#xff0c;都可以说这是个大维度。 由于数据量很大#xff0c;很多包含大维度的数据仓库功能可能会很慢#xff0c;效率很低#xff0c;需要设计有效的方法#xff0c;原则…大维度
大维度很深有很多记录。大维度很宽有很多属性。满足任何一种情况都可以说这是个大维度。 由于数据量很大很多包含大维度的数据仓库功能可能会很慢效率很低需要设计有效的方法原则正确索引或者采用其他优化技术处理以下问题
向大维度表填充数据非限制维度的浏览功能尤其是那些属性基数较小的维度多维度限制属性值的浏览时间对事实表的查询涉及大维度表时效率低为处理第二类修改需要增加额外的记录
多层次的结构
大维度通常拥有多层次的结构不同的业务需要的不同属性可能不同。
快速变化中的大维度
在大多情况下第二类修改适合处理快速变化的维度:
如果维度表扁平它允许在许多维度中不同属性间进行对称浏览即使加入了额外的维度表行维度表的基本结构依然不变只有当最终用户的查询涉及修改过的属性时同一个客户的多行记录展现出来对其他的查询是看不出有多行记录的 将大维度分解成一个或者多个比较简单的小维度表:将快速变化的属性放到另一个维度表中而缓慢变化的属性放在原来的表里面 废弃维度: 一些标志与文本不会在维度表中出现如何处理忽略掉所有标志和文本。可能会丢掉一些有用的信息将标志和文本原封不动地放在事实表中会增大事实表为每个标志和文本建立一个独立的维度大大增加维度表的数目只保留那些有意义的标志和文本将所有有用的标志放在一个单独的废弃的维度中废弃维度中的属性对涉及标记文本的查询来说是有用的
分解大型维度
任意分隔维度表虽然该方法解决了数据管理员提供的问题但也带来的一系列的问题。 连接选择对于表本身来说不是问题然而这可能导致混淆并且可能为自动建立查询的商业智能工具带来问题 事实表外键声明将每个维度表行表示成两部分导致两个 维度表共享相同的代理键。提供完整的维度表示。事实表中的外键引用了涉及的表但是关系型数据库管理系统却不能对这种双重引用进行配置。一个外键只适用于一个表。ETL处理对ETL开发人员来说将表分裂为两部分踢出了独特的挑战。 分隔维度方法的替代方法 两个维度当某个维度具有海量属性时这一情况通常可以作为存在两个相异维度的标志。如果确定存在相异维度可以重新设计维度将其划分为两个表每一个 表都有各自的代理键这连个维度将通过事实表分享明确的关系。将自由形态的文本字段定位到支架表由大量属性造成的过长的行通常是在维度表中包含多个自有形态的文本字段的结果。他们可以被重新定位到不同的表中并且用外键引用进行替换。寻找子类型在很多情况下维度表包含大量的属性组每个属性组只作为所在行的一个子集。在包含特殊子类型属性的情况中维度行的规模可以通过建立仅包含共享属性核心的维度和相互独立的自定义维度来控制。当需要分析所有子类型使用核心维度当只研究特定子类型时使用自定义维度。考虑微型维度将维度属性的子集分离使用子集作为被称为微型维度的新维度的基础。与杂项维度类似此类表的属性不表示单独户的分析概念新维度表能顾通过心智可浏览性开销来缓解属性的规模问题。与其他维度一样微型维度表被分配了一个代理键与分隔维度不同的是微型维度不共享原始维度表的代理键原始维度和微型维度没有一对一关系事实表将使用不同的外键来引用原始维度和微型维度。当表增长过快或存在大量的类型2属性导致对变化的处理成为瓶颈时一个或多个微型维度可能会有用将不稳定的属性移动到微型维度表用所有可能值填充。采用微型维度破坏了可浏览性维度表和微型维度之间只通过事实关联但是用户很少希望去构建针对某个大型维度最详细的浏览查询。提供维度和微型维度间有限的可浏览性是可能的。可以通过在引用微型维度中添加外键来实现。通过将微型维度中的键保存在维度中以实现交叉可浏览性也存在限制只能获得微型维度中的当前信息并未保存历史信息。如果需要的话维度和微型维度表之间的全部历史关系可以通过设计额外的事实表得以保留。
角色维度和别名的使用
业务过程的度量可以包含维度的多个实例。 单一表多重关系,维度表可以参与事实表中多个关系每个关系称作一个角色。 利用别名来存取角色历史数据库视图创建不同的维度表视图来表示每个角色采用适当的外键列将事实表与每个视图连接。SQL别名也可以
避免空值
一个不太规范却实际的解决方案是当数据无效时存储特定的值。如0或者N/A来表示。
空值带来的问题
空值是没有意义的但它与空白、空串或者零值存在明显的区别。空值不代表任何事物不能被认为是等同于任何事物甚至不能与其他的空值等同。如果涉及空值任何传统的比较都要失败。不要允许在外键列中使用空值即时为存储NULL值也需要替换维度列的连接语法并创建维度NULL实例值。当事实表和维度表之间的关系可选择时随着空值而来的问题能通过在维度表中创建特殊的行来加以避免。该行将会被不包含对应的维度细节的事实行引用。采用特殊行的方法避免了一些与空值相关的负面影响但是仍然影响可浏览性需要在查询时果粒橙特殊的行。
特殊情况行的用途
可选关系事实表和维度表之间的可选关系并不常见但是的确存在当不是事实表的部分粒度时可选维度能被接受。无效数据在事实表中加载数据行时当与实务关联的产品无效时可以将一个特别行添加到产品维度中。迟到的数据有事数据仓库在获得相关细节前就获得事务这种情况发生在加载间隔短或者史诗加载数据的环境。当事务的细节尚不存在时将事实与维度表中的用于指示位置产品的特殊行关联。避免了将事务排除在数据仓库之外的可能以便队未来能够获得事务并对其进行更新。未来事件涉及时间当事实表行代表一些涉及期限的事务时采用记录一队日期的方式是非常有效的事务的有效日期和截止日期。