The invention discloses a database combined fragmenting method, device and storage medium, relates to the field of data warehouse technology, the method includes: calculating connection condition included the dimension table selection predicate field joined query dimension table field query frequency; in the calculation of dimension tables and fact tables for query processing, fact the average number of records containing table conditions are connected with the field selection predicates; according to the dimension table field query frequency and average number of records to determine the slice dimension table, will need to patch the dimension table and fact table with slice. The method, device and storage medium, can according to the load characteristics, and the patch number limit, automatic selection of part dimension table, combined with piecewise of dimension tables and fact tables; and the ranking method, reduce the computation, and ensure the connection operation cost minimization.
【技术实现步骤摘要】
数据库联合分片方法、装置以及存储介质
本专利技术涉及数据仓库
,特别是指一种数据库联合分片方法、装置以及存储介质。
技术介绍
目前,各行各业包括政府、企业、事业单位都依赖于数据仓库系统,以便在数据分析的基础上做出业务决策。数据仓库的基本建模方法是星型模型及其变种,比如雪花模型。星型模型由一个或者几个大型的事实表,和几十、甚至成百上千个与之连接的维表构成。事实表主要记录业务过程中发生的一些事件,比如银行的交易包括存款、取款、转账等,而维表则记录该事件的各个维度的信息,包括客户信息、商品信息、时间信息、地点信息等。在数据仓库上的查询,主要是一些选择、连接、和聚集查询。其中的连接查询(维表和事实表的连接),是代价较大的一个操作。为了对大数据进行有效的管理和查询分析,数据分片是有效的技术手段(Partitioning)。数据分片把一个大的数据表格划分成若干数据分区(Partition),在进行查询处理的时候,仅仅存取与查询相关的数据分区,减少I/O操作。数据分片包括各个表格独立分片(MonoPartition)、和联合分片(也称参考分片,ReferencePartition)。独立分片指的是各个表格包括维表和事实表根据查询负载的查询条件,选择一个或者多个字段分别进行分片,比如客户表(维表)按照客户ID进行分片,而日志数据表(事实表)按照时间戳以月份方式进行分片。而联合分片,则根据查询负载的查询条件,首先进行一个、或者几个维表的分片,然后依照事实表和维表之间的主外键依赖关系,对事实表进行分片。比如客户表(维表)按照用户ID进行分片,时间维度表(维表)按照季度进 ...
【技术保护点】
一种数据库联合分片方法,其特征在于,包括:获取与事实表进行连接查询操作的维表以及所述事实表与所述维表的连接条件;计算所述连接条件包含的所述维表的选择谓词字段参与所述连接查询操作的维表字段查询频率;计算在所述维表与所述事实表进行所述连接查询操作时,所述事实表符合包含有所述选择谓词字段的连接条件的平均记录数;根据所述维表字段查询频率和所述平均记录数确定需要分片的维表,将所述需要分片的维表以及所述事实表进行联合分片。
【技术特征摘要】
1.一种数据库联合分片方法,其特征在于,包括:获取与事实表进行连接查询操作的维表以及所述事实表与所述维表的连接条件;计算所述连接条件包含的所述维表的选择谓词字段参与所述连接查询操作的维表字段查询频率;计算在所述维表与所述事实表进行所述连接查询操作时,所述事实表符合包含有所述选择谓词字段的连接条件的平均记录数;根据所述维表字段查询频率和所述平均记录数确定需要分片的维表,将所述需要分片的维表以及所述事实表进行联合分片。2.如权利要求1所述的方法,其特征在于,所述根据所述维表字段查询频率和所述平均记录数确定需要分片的维表包括:基于所述维表字段查询频率和所述平均记录数计算所述选择谓词字段的负载分布参数;对所述负载分布参数进行排序,根据预设的分片规则以及排序结果确定需要分片的维表。3.如权利要求2所述的方法,其特征在于,所述计算所述连接条件包含的所述维表的选择谓词字段参与所述连接查询操作的维表字段查询频率包括:获取查询操作信息,其中,所述查询操作包括:事实表或者维表的单表查询操作、事实表和维表的连接查询操作;基于所述查询操作信息分别计算各个维表参与所述连接查询操作的频率以及所述维表的各个选择谓词字段参与所述连接查询操作的维表字段查询频率;其中,所述维表字段查询频率为Freq(Dn,Aj),Dn为第n个维表,Aj为第n个维表中的第j个选择谓词字段。4.如权利要求3所述的方法,其特征在于,所述计算在所述维表与所述事实表进行所述连接查询操作时,所述事实表符合包含有所述选择谓词字段的连接条件的平均记录数包括:对于所述维表的各个选择谓词字段,分别计算所述事实表符合包含有所述各个选择谓词字段的连接条件的平均记录数;其中,所述平均记录数为AvgF2D(F,Dn,Aj),F为所述事实表,Dn为第n个维表,Aj为第n个维表中的第j个选择谓词字段。5.如权利要求4所述的方法,其特征在于,所述基于所述维表字段查询频率和所述平均记录数计算所述选择谓词字段的负载分布参数包括:计算所述选择谓词字段的负载分布参数为Freq(Dn,Aj)×AvgF2D(F,Dn,Aj);所述对所述负载分布参数进行排序、根据预设的分片规则以及排序结果确定需要分片的维表包括:将所述负载分布参数由大到小进行排序,根据所述分片规则选择位于所述排序结果前面的至少一个所述负载分布参数所对应的维表以及此维表的选择谓词字段进行分片,其中,所述分片规则包括:事实表分片数量或每个分片的平均大小。6.如权利要求5所述的方法,其特征在于,还包括:基于选择的所述选择谓词字段对此选择谓词字段所在的维表进行分片;根据所...
【专利技术属性】
技术研发人员:孙乔,张春光,邓卜侨,孙雷,刘炜,崔伟,裴旭斌,马慧远,
申请(专利权)人:北京国电通网络技术有限公司,国家电网公司,国网北京市电力公司,北京中电飞华通信股份有限公司,国网信息通信产业集团有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。