在进行数据建模时,设计人员往往会遇到这样困境,即在设计数据仓库架构时该如何塑造逻辑属性。Oracle 11g中一个叫做虚拟列的新特性可以解决这一难题,它通过降低对象管理和存储能耗的方式来显示逻辑属性。此外,使用虚拟列可以提升数据库可用性、可管理性以及其它性能。虚拟列可以辅助建模人员实现简单、直观、快速的设计。
逻辑属性 逻辑属性通常指的是基于表达式或函数所得出的结果。这样的属性分为两大类:计算值与派生值。计算值代表了数学公式所得到的结果,下面的例子添加了两列,以计算值为结果: base salary + commission = total salary 另一方面,派生值是基于……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在进行数据建模时,设计人员往往会遇到这样困境,即在设计数据仓库架构时该如何塑造逻辑属性。Oracle 11g中一个叫做虚拟列的新特性可以解决这一难题,它通过降低对象管理和存储能耗的方式来显示逻辑属性。此外,使用虚拟列可以提升数据库可用性、可管理性以及其它性能。虚拟列可以辅助建模人员实现简单、直观、快速的设计。
逻辑属性
逻辑属性通常指的是基于表达式或函数所得出的结果。这样的属性分为两大类:计算值与派生值。计算值代表了数学公式所得到的结果,下面的例子添加了两列,以计算值为结果:
base salary + commission = total salary
另一方面,派生值是基于逻辑的。下面的例子添加相同的两列,以派生值为结果:
if base salary + commission > 100000 then 'Highly Compensated' end
设计窘境
在Oracle 11g之前,数据建模者要么需要将逻辑属性以物理表列的形式显示,要么需要在视图中虚拟所有的值。但是这两种方法的效果都不是很理想。
以物理表列的形式存储逻辑属性可以使value能够被索引并且显示在用户面前。用这样的方式能够收集到更加精确的统计数据,从而可以做出最佳决策。然而它同样意味着更大的存储压力。考虑到数据仓库中的数据将呈现指数增长的情况,许多设计人员转而选择使用视图来对属性建模。
使用视图的方式可以达到显示逻辑属性的目的,并且不会造成巨大的存储压力。一个视图可以被视为一个存储查询,它是SQL执行的具体化结果。因此,在视图中不能收集优化的统计数据。优化器没有其它选择,只能去猜测成本以及表达式结果的基数。尽管视图列不能被索引或约束,但是Oracle 8i引入了基于函数的索引,它提供的优化器可以对实际统计数据进行查询优化。视图以及基于函数的索引看似是不错的选择,但是使用这一方式将会导致额外的数据库对象管理,从而导致了数据仓库的复杂性。
Oracle 11g解决方案
Oracle 11g中引入的虚拟列功能为数据建模人员提供了一个设计逻辑属性的优化方案。虚拟列并不存储于硬盘之上,而是在SQL执行过程中进行运算。它同基于函数的索引(FBIs)共享了大部分代码路径,并且还提供了额外的能见度。除物理存储特性之外,虚拟列同视图相比还有另外一个巨大的优势。在虚拟列中,建模人员可以收集优化的统计数据,并且可以对这些列进行索引和约束,甚至可以用在分区表中。这使得优化器可以围绕查询访问来做出基于事实的智能决策。总的来说,使用虚拟列可以达成数据建模的最终设计目标,并且不会造成额外的存储压力和对象成本。
翻译
相关推荐
-
数据库设计需做好前期工作 Agile方法不适合
有很多企业认为数据建模以及设计良好的数据库是浪费时间的工作,对此专家的回答很直接:决不能忽视数据库设计过程。
-
SAP HANA数据建模秘籍
SAP HANA是一个全新的数据库平台,它提供了全新的数据建模方式,使得传统关系型数据库管理系统(RDBMS)得到了进一步的扩展。
-
NoSQL数据建模技术
NoSQL 数据库经常被用作很多非功能性的地方,如,扩展性,性能和一致性的地方。这些NoSQL的特性在理论和实践中都正在被大众广泛地研究着。
-
TDWI解决方案峰会分享主数据管理最佳实践
在近期召开的TDWI(数据仓库协会)解决方案峰会上,几位从事主数据管理(MDM)和数据治理的专家以演讲方式分享了他们的经验和MDM最佳实践。