分类: 数据库开发技术
2016-10-23 00:41:02
说到HANA,除了快,想到的最多的应该是它灵活的建模方式。图形化建模的三大视图分别为属性视图、分析视图和计算视图,而计算视图,除了用的比较多的图形化计算视图,就是脚本的script计算视图了。
首先,为什么图形化?即图形化使用的场景是什么?第一,维度调整很灵活,能够满足实时计算的场景;第二,使用分析视图或者计算视图,能够很好的做聚合分析的场景。也就是说,能够灵活的变更维度,而指标也会随着维度的变化做实时的聚合处理。然后,三视图的原理是什么?在实际项目中,都是如何运用的?下面将会一一介绍。
属性视图最大的作用,就是做表与表之间的连接,因为它的引擎是join引擎,最擅长的就是做连接,尽可能的取得所有需要的维度。如果只有一张表,一般情况下,是没有必要一定要使用属性视图的,当然,如果属性表数据量很大,使用属性视图,也会在一定程度上提升性能。如果说除了取得维度,过滤啊,或者是一些其他的维度转换啊,并且复用率是比较高的,那么这时候,使用属性视图还是比较方便的。在属性视图中做连接,一定要找到中心表,并且最好将中心表的KEY作为整个视图的KEY Attribute。属性视图可以拿来做报表,但是一般情况下,不管是业务上,还是技术上,都不建议使用属性视图做报表。
分析视图,顾名思义,最大的作用是分析。既然是分析,那就必须要有分析的对象—指标。而指标,通常都是来源于Data Foundation,在Data Foundation中,一般情况下只有一张事实表(多张事实表也可以,但是要改动一些配置),选择事实表中要分析的指标。在start join中,可以添加已经创建好的属性视图,或者添加维表,与Data Foundation中的维度ID进行关联。在这里,不得不说的是事实表中的维度ID和已经创建好的属性视图做连接,必须要考虑到n:n的问题,原则上,这里是要保证1:1的关系的,所以在创建属性视图时,就要规划好这个模块的实现方式,或者实现流程。在Start Join中,还可以创建计算列,既可以是用来做分析的指标,也可以是维度的创建或者转化。分析视图搭建好以后,就可以用来出一些简单的报表了。
属性视图和分析视图看起来是非常简单的,实际上,也是很容易上手的。但是,就整个模型来讲,属性视图和分析视图是最基层的,就像建房子一样,地基打好了,才能更好的建房子,建的房子才能才更牢固。所以,实际上,如何建好属性视图和分析视图才是最难的,后面的计算视图也只是在这个地基上做进一步的装修罢了。
图形化的计算视图,目前,提供了有5种NODE,来满足不同的需求,这5种Node分别是Projection、Join、Union、Aggregation、Rank。Projection,顾名思义,就是投影的意思,换句话说,就是将视图,或者表,放到这里面,他们的字段或者字段的值都是没有任何改变的,只是单纯的显示选择的列。而Projection的作用呢,就是利用它这个功能,做一些过滤,或者做一些计算列等,而不会改变原来既有的维度或者度量。Aggregation,顾名思义,就是聚合的意思。当把带有度量的视图或者表放到这里的时候,可以将这个度量添加为带有聚合性质的度量,如果这个Aggregation在视图的最顶层,那这个度量会默认被赋予SUM性质。Join和Union的对象都是多个的,Join的对象必须是两个,Union的对象可以是两个或者两个以上,而Join和Union的使用含义以及方法,这里就不需要多说了。Rank,顾名思义,就是排名的意思,设置好排名的对象,排名的条件,以及排名的个数,就可以迅速的实现排名的功能。
上面只是初步简单的介绍了一下HANA的三大图形化建模视图,脚本script计算视图,存储过程,以及模型的优化,这些都是HANA的功能特点。欢迎各位同道朋友一起探讨、学习、纠正,希望在大数据的海洋中,咱们乘坐的HANA这艘小船能够乘风破浪,勇敢前行!