数据仓库的多维数据模型

2018-01-04 18:41:08秋军
能够许多人了解的数据堆栈便是基于多维数据模子构建,用于OLAP的数据仄台,经由过程上一篇文章——数据堆栈的根本架构,我们曾经看到数据堆栈的使用能够近没有行那些。但不能不认可多维数据模子是数据堆栈的一年夜特性,也是数据堆栈使用战真现的一个主要的圆里,经由过程正在数据的构造战存储上的劣化,使其更合用于阐发型的数据查询战获得。

  多维数据模子的界说战做用

  多维数据模子是为了满意用户从多角度多条理停止数据查询战阐发的需求而成立起去的基于究竟战维的数据库模子,其根本的使用是为了真现OLAP(Online Analytical Processing)。

  固然,经由过程多维数据模子的数据展现、查询战获得便是其做用的展示,但其实的做用的真如今于,经由过程数据堆栈能够按照差别的数据需供成立起各种多维模子,并构成数据散市开放给差别的用户群体利用,也便是按照需供定造的各种数据商品摆放正在数据散市中供差别的数据消耗者停止采购。

  多维数据模子真例

  正在看真例前,那里需求先理解两个观点:究竟表战维表。究竟表是用去记载详细变乱的,包罗了每一个变乱的详细要素,和详细发作的工作;维表则是对究竟表中变乱的要素的形貌疑息。好比一个变乱会包罗工夫、所在、人物、变乱,究竟表记载了全部变乱的疑息,但对工夫、所在战人物等要素只记载了一些枢纽标识表记标帜,好比变乱的配角叫“Michael”,那末Michael到底“少甚么样”,便需求到响应的维内外里来查询“Michael”的详细形貌疑息了。基于究竟表战维表便能够构建出多种多维模子,包罗星形模子、雪花模子战星座模子。那里没有再睁开了,注释观点实的很费事,并且基于我的了解的形貌纷歧定一切人皆能大白,借是间接上真例吧:

  那是一个最简朴的星形模子的真例。究竟内外里次要包罗两圆里的疑息:维战襟怀,维的详细形貌疑息记载正在维表,究竟表中的维属性只是一个联系关系到维表的键,其实不记载详细疑息;襟怀普通城市记载变乱的响应数值,好比那里的产物的贩卖数目、贩卖额等。维表中的疑息普通是能够分层的,好比工夫维的年代日、地区维的省市县等,那类分层的疑息便是为了满意究竟表中的襟怀能够正在差别的粒度上完成散开,好比2010年商品的贩卖额,去自上海市的贩卖额等。

  借有一面需求留意的是,维表的疑息更新频次没有下大概连结相对的不变,比方一个曾经成立的十年的工夫维正在短时间是没有需求更新的,地区维也是;可是究竟表中的数据会不竭天更新或删减,果为变乱不断正在不竭天发作,用户正在不竭天购置商品、承受效劳。

  多维数据模子的劣缺陷

  那里所道的多维模子是指基于干系数据库的多维数据模子,其取传统的干系模子比拟有着本身的劣缺陷。

  长处:

  多维数据模子最年夜的长处便是其基于阐发劣化的数据构造战存储形式。举个简朴的例子,电子商务网站的操纵数据库中记载的能够是某个工夫面,某个用户购置了某个商品,并寄收到某个详细的地点的那种记载的汇合,因而我们没法即刻获得2010年的7月份到底有几用户购置了商品,大概2010年的7月份有几的浙江省用户购置了商品?可是正在基于多维模子的根底上,此类查询便变得简朴了,只需正在工夫维大将数据散开到2010年的7月份,同时正在地区维大将数据散开到浙江省的粒度便能够真现,那个便是OLAP的观点,以后会有相干的文章停止引见。

  缺陷:

  多维模子的缺陷便是取干系模子比拟其灵敏性不敷,一旦模子构建便很易停止变动。好比一个定单的究竟,此中用户能够购置了多种商品,包罗了工夫、用户维战商品数目、总价等襟怀,关于干系模子而行假如我们进而需求辨别定单中包罗了哪些商品,我们只需求别的再建一张表记载定单号战商品的对应干系便可,但正在多维模子内里一旦究竟表构建起去后,我们没法将究竟表中的一条定单记载再停止拆分,因而没法成立以一个新的维度——产物维,只能别的再建个以产物为主题的究竟表。

  以是,正在成立多维模子之前,我们普通会按照需供尾先具体的设想模子,该当包罗哪些维战襟怀,该当让数据连结正在哪一个粒度上才气满意用户的阐发需供。