The present invention provides a method for improving the performance of multidimensional analysis slices by using a two-way index. Copy a copy of the data into two data sets, a data set A by D (1), D (2)... D (n 1), D (n) dimension ranking, another data set by B D (n), D (n 1)...... D (2), D (1) dimension ranking; respectively on the two data sets before half dimension indexing; two data sets inside the index corresponds to the data set inside all dimensions; then the data sets are data slices, the dimension of selecting the optimal index where the calculation conditions on other dimensions, ergodic; by this method calculation records are indexed sorting dimension distribution of the continuous and orderly, in accordance with the first half dimension condition involves the calculation of the record is a piece, each piece is relatively not too small, this index can lift to the high performance of the section.
【技术实现步骤摘要】
一种采用双向索引来提高多维分析切片性能的方法
本专利技术涉及多维分析,更具体地来说,特别涉及一种采用双向索引来提高多维分析切片性能的方法。
技术介绍
多维分析是一种软件技术,它使分析人员能够迅速、一致、交互地从各个方面观察信息,以达到深入理解数据的目的。它具有FASMI(FastAnalysisofSharedMultidimensionalInformation),即共享多维信息的快速分析的特征。其中F是快速性(Fast),指系统能在数秒内对用户的多数分析要求做出反应;A是可分析性(Analysis),指用户无需编程就可以定义新的专门计算,将其作为分析的一部分,并以用户所希望的方式给出报告;M是多维性(Multidimensional),指提供对数据分析的多维视图和分析;I是信息性(Information),指能及时获得信息,并且管理大容量信息。多维分析展现在用户面前的是一幅幅多维视图。维(Dimension):是人们观察数据的特定角度,是考虑问题时的一类属性,属性集合构成一个维(时间维、地理维等)。切片和切块的逻辑概念:片是指在维上选定一个单个的值后,关心度量数据在剩余维上的分布。块是指很多片在维上选定多个值后,关心度量数据在剩余维上的分布。目前现有的切片技术是直接在数据集上遍历,缺点是性能较差,每次都要遍历所有数据。这里为什么不使用索引技术来提高性能呢?因为切片的结果集仍然不小,如果切片结果集在原数据集中呈碎片状分布,那么使用索引并不会提高性能。如果保证切片结果集在原数据集中连续存储,就需要在物理上针对每个维度将原数据集进行排序,导致占用大量空间(有 ...
【技术保护点】
一种采用双向索引来提高多维分析切片性能的方法,步骤如下:a.在业务数据系统中,把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n‑1)、D(n)的维度排序,先由D(1)维度进行维度排序,然后在D(1)维度排序的基础下进行D(2)的维度排序,以此类推,到D(n)最后一个维度排序就只有一条记录,排序后数据集A里面的记录分布是连续有序的,记录由大片分布依次(D(1)>D(2)……>D(n))变小。另一个数据集B按D(n)、D(n‑1)……D(2)、D(1)的维度排序,先由D(n)维度进行维度排序,然后在D(n)维度排序的基础下进行D(n‑1)的维度排序,以此类推,到D(1)最后一个维度排序就只有一条记录,排序后数据集B里面的记录分布是连续有序的,记录由大片分布依次(D(n)>D(n‑1)……>D(1))变小;其中D是维度;b.分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引;如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引;c.两个数据集 ...
【技术特征摘要】
1.一种采用双向索引来提高多维分析切片性能的方法,步骤如下:a.在业务数据系统中,把一份数据复制在两个数据集里面,一个数据集A按D(1)、D(2)……D(n-1)、D(n)的维度排序,先由D(1)维度进行维度排序,然后在D(1)维度排序的基础下进行D(2)的维度排序,以此类推,到D(n)最后一个维度排序就只有一条记录,排序后数据集A里面的记录分布是连续有序的,记录由大片分布依次(D(1)>D(2)……>D(n))变小。另一个数据集B按D(n)、D(n-1)……D(2)、D(1)的维度排序,先由D(n)维度进行维度排序,然后在D(n)维度排序的基础下进行D(n-1)的维度排序,以此类推,到D(1)最后一个维度排序就只有一条记录,排序后数据集B里面的记录分布是连续有序的,记录由大片分布依次(D(n)>D(n-1)……>D(1))变小;其中D是维度;b.分别对两个数据集前一半维度创建索引,如果数据集里的维度个数n为奇数,一个数据集A创建n/2(舍去小数点后面位数)个索引,另一个数据集B创建n/2(五入后的整数)个索引;如果数据集里的维度个数n为偶数,两个数据集都是创建n/2个索引;c.两个数据集里面的索引正好对应数据集里面全部的维度;一个数据集A里面的索引对应数据集A前半部分维度,另一个数据集B里面的索引对应数据集A后半部分维度,反之亦然;d.然后对数据集进行数据切片,如果提的条件的维落在数据集A的前半部分维度内,就去数据集A里面通过索引计算符合条件的记录;如果提的条件的维落在数据集B前半部分的维度内,就去数据集B里面通过索引计算符合条件的记录;如果提的条件是多维子集,并且有的维在数据集A的前半部分维度内,有的维在数据集B的前半部分维度内,选择最优的索引所在的那个维,这个维如果在数据集A的前半部分维度内,则选择数据集A的索引计算数据,这个维如果在数据集B的前半部分维度内,则选择数据集B的索引计算数据,其它维度的条件靠遍历计算;e.通过这样的方法计算的记录都是按索引维度排序分布连续有序的,按照前半部分维度的条件,计算涉及的记录是一片一片的,每一片相对并不太...
【专利技术属性】
技术研发人员:蒋步星,
申请(专利权)人:北京润乾信息系统技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。