[发明专利]一种关联表的数据分区装载方法与装置有效
申请号: | 202110766468.1 | 申请日: | 2021-07-07 |
公开(公告)号: | CN113468178B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 梅纲;袁松彪;张驻西 | 申请(专利权)人: | 武汉达梦数据库股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/23;G06F16/2455 |
代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 崔肖肖 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关联 数据 分区 装载 方法 装置 | ||
本发明公开了一种关联表的数据分区装载方法与装置,引入树形数据结构,当对主表进行数据分区装载时,基于数据的分区键值计算分区值,根据计算出的分区值分发数据并更新主表的分区映射缓存;当对附表进行数据分区装载时,基于数据在该附表与其父节点间的关联字段值从其父节点的分区映射缓存中获取分区值,根据获取到的分区值分发数据并更新该附表的分区映射缓存;对于每个节点,分区映射缓存保存数据在该节点与其子节点间的关联字段值以及对应分区值的映射关系。本方案中每条数据只需在根节点计算一次分区值,减少计算开销;整个装载过程所有表只需遍历读取一次,且不需要进行排序、表连接等操作,减少资源消耗与读取开销。
【技术领域】
本发明属于数据装载技术领域,更具体地,涉及一种关联表的数据分区装载方法与装置。
【背景技术】
对于两张表A和B,假设B中的每条数据在一个或多个字段的值,在A中必定存在一条数据在对应字段上的值相同,则A表称为主表,B表称为附表,A表和B表形成关联表,对应字段称为关联字段。其中,主表A能够有多个附表,附表B也能有自己的附表,但附表只能有一个主表,形成多级关联表。如果将关联表之间的关联关系用树结构表示,则主表是根节点,附表均为子节点,其中主表的直接附表是根节点的子节点,不同的直接附表之间是兄弟节点关系,是一级节点;附表的附表是二级节点,以此类推,形成一个树结构,没有附表的表是叶子节点,根节点与叶子节点之间的是中间节点,即子节点分为中间节点和叶子节点。
数据分区是指一张表里的数据依据分区值划分成多份,分别存放到多个数据库的表里,分区值是分区函数基于一个或多个字段值计算得到的,用于计算分区值的字段称为分区键,每条数据里分区键字段对应的值称为分区键值,关联字段与分区键可能不相同也可能相同。应用信息系统后端数据库的数据数量增大到一定程度时会严重影响信息系统的访问速度,一种高性价比的改进思路是采用分布式数据库中间件实现数据的“分库分表”,后端数据库服务由单一数据库改为多个数据库,应用服务程序通过数据库中间件间接地访问后端数据库服务。“分库分表”演进方案是将源数据库中的数据分区装载到多个数据库,具体是用分区函数和分区规则计算出每条数据所在分区,然后利用分区装载程序将每条数据分发到对应的分区数据库节点,以实现数据分区,如图1所示。
常规情形下每张待分区的数据表都会指定分区键,利用分区键值、分区函数和分区规则即可计算出该条数据所在分区的分区值,但有主附表关联关系的附表不一定直接具有分区键,因此附表需要通过其主表的分区键确定其分区值,附表的附表更是如此。以购物系统中的订单表和订单详情表为例,结合图2和图3,订单表(Order)是主表,详情表(Detail)是附表,详情表中的ORDER_ID字段与订单表中的ID字段关联,订单表中的TIME字段是分区键,根据每条订单数据中的TIME值(即分区键值)可计算对应订单数据的分区值。例如,按订单生成年份将订单表分区,同一年产生的订单划分为一个区,订单详情数据与其依附的订单数据需要分到同一个分区数据库,因为在查询订单时需要查询订单下的所有购买商品,如果订单与其对应的订单详情不在一个分区,就需要跨分区查询订单的详细信息,跨分区查询效率就低了。但是,详情表中不直接包含创建订单的时间字段,只能通过ORDER_ID从订单表中关联得到TIME值,进而间接获得分区值。
在数据“分库分表”的设计模式中,所有关联表的数据分区必须放在同一个分区数据库,附表的数据分区跟随主表的数据分区,这样做在关联查询时会有最好的性能。主表数据有分区键,根据分区键可以直接计算出分区值,而与主表数据关联的附表以及附表之附表的关联数据,都需要依靠主表的分区值确定其分区。特殊情形下,关联字段与分区键相同,也可以考虑通过关联关系从主表获取分区值。那么,关联表分区装载的核心问题就是如何确定附表、附表之附表数据的分区值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库股份有限公司,未经武汉达梦数据库股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110766468.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种能检测水质的水箱组件
- 下一篇:一种道路隔离栏清洗机
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置