【技术实现步骤摘要】
数据库分区方法及相关装置
[0001]本专利技术涉及数据库
,尤其涉及一种数据库分区方法及相关装置。
技术介绍
[0002]大数据时代,数据规模不断增大,给数据库管理系统的存储带来了巨大的压力,同时现代商业决策与科学研究等应用场景对数据的依赖性越来越高,如何快速高效的在海量的数据中提取出有效的信息成为现代数据库管理系统设计的一大重要挑战。其中,数据分区技术作为数据库存储引擎设计的核心模块之一,它对数据库的存储效率和查询性能有着重要的影响。
[0003]数据分区技术主要分为水平分区与垂直分区两种策略。水平分区策略一般应用于传统的关系型数据库系统。随着大数据时代的到来,更适用于分析型数据库系统的垂直分区策略得到了更为广泛的研究与关注。垂直分区可以通过降低访问数据的I/O成本来显著提高数据查询的性能。垂直分区是将数据库中的单个数据表或通用数据表划分为不相交的属性组,这些属性组在物理上分别存储和访问。
[0004]现有的方案中,有通过暴力枚举算法来获得访问成本较低的垂直分区方案,即枚举所有可能的垂直分区方案,并 ...
【技术保护点】
【技术特征摘要】
1.一种数据库分区方法,其特征在于,所述方法包括:获取对数据表的查询信息,所述查询信息包括多条查询中每条查询访问的属性;基于所述查询信息生成亲和度矩阵,所述亲和度矩阵指示所述数据表包括的属性之间的亲和度;基于所述亲和度矩阵对所述数据表划分,获得所述数据表的第一分区结果;其中,所述第一分区结果包括N个分区,所述N个分区中的每个分区包括所述数据表的一个或多个属性,所述N为大于1的整数。2.根据权利要求1所述的方法,其特征在于,所述基于所述亲和度矩阵对所述数据表划分包括:通过谱聚类算法基于所述亲和度矩阵对所述数据表划分。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:基于属性频繁模式将所述N个分区进一步划分,获得多个子分区;其中,每个所述子分区包括所述数据表的一个或多个属性,所述属性频繁模式为基于所述查询信息计算得到关于所述数据表中的属性的频繁模式。4.根据权利要求3所述的方法,其特征在于,所述基于属性频繁模式将所述N个分区进一步划分,获得多个子分区包括:基于第一频繁模式将第一分区划分,获得至少两个所述子分区;其中,所述第一分区为所述N个分区中包括所述数据表的多个属性的分区,所述第一频繁模式为所述属性频繁模式中由所述第一分区的部分属性组成的频繁模式。5.根据权利要求4所述的方法,其特征在于,所述第一频繁模式包括多个频繁模式;所述基于第一频繁模式将所述第一分区划分,获得至少两个所述子分区包括:基于所述多个频繁模式中的每个频繁模式对所述第一分区划分;计算基于所述每个频繁模式划分所述第一分区的划分收益,所述划分收益为对所述第一分区划分前与划分后从所述数据表查询的成本的差值;选择所述计算得到的多个所述划分收益中最大的划分收益对应的划分结果作为所述第一分区的划分结果,所述划分结果包括所述至少两个所述子分区。6.根据权利要求5所述的方法,其特征在于,所述计算基于所述每个频繁模式划分所述第一分区的划分收益,包括:通过成本模型计算基于所述每个频繁模式划分所述第一分区的划分收益;所述成本模型为基于主分区的查询成本和次分区的查询成本构建的查询成本计算模型;所述主分区包括查询的扫描键中的属性涉及的全部分区,所述扫描键中的属性包括一个或多个;所述次分区的查询成本包括所述次分区与主分区之间的连接成本。7.根据权利要求3
‑
6任一项所述的方法,其特征在于,所述方法还包括:基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果;其中,所述第二分区结果包括M个优化分区,所述M个优化分区中的每个分区包括所述数据表的一个或多个属性,所述M为大于1的整数。8.根据权利要求7所述的方法,其特征在于,所述基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果包括:获取包括第二频繁模式中的部分或全部属性的n个子分区;其中,所述第二频繁模式为
所述属性频繁模式中的一个频繁模式,所述n为大于0的整数;将所述n个子分区组合,获得第二分区;在基于所述第二频繁模式组合后的合并收益大于基于第一其它频繁模式组合后的合并收益的情况下,确定所述第二分区属于所述优化分区;其中,所述第一其它频繁模式为所述属性频繁模式中除了所述第二频繁模式的任一频繁模式,所述合并收益为基于所述频繁模式组合前与组合后从所述数据表查询的成本的差值。9.根据权利要求8所述的方法,其特征在于,所述基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果还包括:获取包括第三频繁模式中的部分或全部属性的m个子分区;其中,所述第三频繁模式为所述属性频繁模式中的一个频繁模式,所述m为大于0的整数;将所述m个子分区组合,获得第三分区;在基于所述第三频繁模式组合后的合并收益大于基于第二其它频繁模式组合后的合并收益的情况下,确定所述第三分区属于所述优化分区;其中,所述第二其它频繁模式为所述属性频繁模式中除了所述第二频繁模式和所述第三频繁模式之外的任一频繁模式。10.根据权利要求7所述的方法,其特征在于,所述基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果包括:获取包括第二频繁模式中的部分或全部属性的n个子分区;其中,所述第二频繁模式为所述属性频繁模式中的一个频繁模式,所述n为大于1的整数;将所述n个子分区组合获得第四分区和第五分区,所述第四分区和第五分区属于所述优化分区;所述第四分区包括所述第二频繁模式中全部的属性,所述第五分区包括所述n个子分区包含的属性中除了所述第二频繁模式的属性之外的属性。11.根据权利要求10所述的方法,其特征在于,所述基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果还包括:获取包括第三频繁模式中的部分或全部属性的m个子分区;其中,所述m个子分区与所述n个子分区相同,所述第三频繁模式和所述第二频繁模式不同,所述m为大于1的整数;将所述m个子分区组合获得第六分区和第七分区,所述第六分区包括所述第三频繁模式中全部的属性,所述第七分区包括所述m个子分区包含的属性中除了所述第三频繁模式的属性之外的属性;在基于所述第三频繁模式组合后的合并收益大于基于所述第二频繁模式组合后的合并收益的情况下,将所述第六分区和第七分区替换所述第四分区和第五分区作为所述优化分区;所述合并收益为基于所述频繁模式组合前与组合后从所述数据表查询的成本的差值。12.根据权利要求7至11任一项所述的方法,其特征在于,所述基于所述属性频繁模式将所述多个子分区组合,获得所述数据表的第二分区结果包括:将包括第四频繁模式中的部分或全部属性的多个子分区组合,获得第八分区;其中,所述第四频繁模式为所述属性频繁模式中的一个频繁模式;在所述第八分区包括的属性重新组合得到的多个分区对应的合并收益大于所述重新组合前的合并收益的情况下,将所述重新组合得到的多个分区替换所述第八分区作为所述优化分区;其中,所述合并收益为组合前与组合后从所述数据表查询的成本的差值。
13.一种数据库分区装置,其特征在于,所述...
【专利技术属性】
技术研发人员:李翠平,陈红,刘鹏举,李好洋,王天一,刘欢,孙路明,任波,
申请(专利权)人:中国人民大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。