在Oracle 11g中使用虚拟列进行数据建模(上)

 
   | |

导读:Oracle 11g中引入的虚拟列功能为数据建模人员提供了一个设计逻辑属性的优化方案。虚拟列并不存储于硬盘之上,而是在SQL执行过程中进行运算。

关键词:Oracle 11g 虚拟列 数据建模 逻辑属性

正在加载数据...

【TechTarget中国原创】在进行数据建模时,设计人员往往会遇到这样困境,即在设计数据仓库架构时该如何塑造逻辑属性。Oracle 11g中一个叫做虚拟列的新特性可以解决这一难题,它通过降低对象管理和存储能耗的方式来显示逻辑属性。此外,使用虚拟列可以提升数据库可用性、可管理性以及其它性能。虚拟列可以辅助建模人员实现简单、直观、快速的设计。

【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)共享了大部分代码路径,并且还提供了额外的能见度。除物理存储特性之外,虚拟列同视图相比还有另外一个巨大的优势。在虚拟列中,建模人员可以收集优化的统计数据,并且可以对这些列进行索引和约束,甚至可以用在分区表中。这使得优化器可以围绕查询访问来做出基于事实的智能决策。总的来说,使用虚拟列可以达成数据建模的最终设计目标,并且不会造成额外的存储压力和对象成本。

 
查看全文
 
 
 
 
 

Oracle数据仓储与商业智能

 
距甲骨文顺利收购Sun微系统已经有一个多月的时间了,但貌似到现在为止,最新的数据仓库策略还是很不明朗。
 
还需要更多的理由来证明数据仓库市场中的竞争还像原来一样激烈吗?这个观点怎样呢:很多厂家正在免费开放他们的分析型数据库,虽然有一些附加条件。
 
云计算和相关的“数据云”适合分布式数据和分布式企业。创业和那些喜欢研究样机的人也将受益于云模型。
 
面向列的分析型数据库越来越引起人们的注意。简明扼要地说,面向列的数据库将行分解成多个数据元素,并且储存的数据库元素对应于所有的行。
 
OBIEE使得构造流感监控仪表盘变得更加容易。Kaleida从Oracle的Discoverer产品转向OBIEE,前者可以生成一个比较仪表盘,但是不易于使用。
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
电子邮件地址:
请输入您的电子邮件地址
密码:
下次自动登录