技术领域
本发明涉及数据库领域,尤其涉及一种数据分区方法和设备。
背景技术
在联机分析处理(OnlineAnalyticalProcessing,OLAP)这种 分析性数据库中,处理的数据量都比较大,单机的性能已经不能满足 需要,大规模并行处理(Massiveparallelprocessing,MPP)架构 可以将数据分布到多个节点上,由多个节点并行处理,从而提高处理 速度。为了使每个节点都并行处理一定量的数据,一般情况下需要将 表水平分割,放到不同的节点上。但是如果没有考虑到表之间的关系, 当两表之间有join(连接查询)操作时,会产生大量的网络传输, join操作效率低下。
Oracle提出引用分区(ReferencePartitioning)方案,可以 根据数据表之间的关系,由根数据表开始进行分区,先在根数据表指 定一列作为分区列,在分区该表的同时分区子表中的相关数据,从而 使相关的数据放在同一节点上,使join过程可以本地完成,但是该 方案只适用于数据关系存在层次结构的,而数据分配随着层次结构的 加深,复杂度不断加大。
当每个数据表各自指定一列作为分区列,每个数据表单独区分, 但是分区函数相同,如果两表选择的分区列刚好是需要join的列, 则这两个表的join操作刚好可以本地完成,如果需要join的列不是 用于区分的列,则将这个需要join的列再进行一次重新分区,join 操作便用重新分区的表进行操作,从而使join操作本地化,但是这 样一来导致数据传输量大,浪费网络和存储空间。
发明内容
本发明提供一种数据分区方法和设备,能够消除远程join操作, 减少数据查询过程中的网络带宽,同时创造备份数据。
第一方面,提供一种数据分区方法,包括:
将分布式数据库中的维表进行数据分区;
根据所述维表的分区特征并按照预设算法建立分区映射表;
将所述维表对应的事实表按照所述分区映射表进行分区,并按照 所述分区映射表备份所述事实表中的数据。
结合第一方面,在第一种可能实现的方式中,所述将分布式数据 库中的维表进行数据分区包括:
按照哈希算法,将所述分布式数据库中的维表进行数据分区,以 获取分区后各个节点对应的维表的数据。
结合第一方面的第一种可能实现的方式,在第二种可能实现的方 式中,所述根据所述维表的分区特征并按照预设算法建立分区映射表 包括:
根据所述分区后各个节点对应的维表和所述事实表的连接键,与 待建立的分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据所述余数建立所述分区映射表,所述分区映射表为比特向量 表,所述比特向量表的横坐标表示各个节点的标识符,纵坐标表示所 述连接键与所述预设数量进行预设算法后的余数;
其中,所述预设运算为取模运算、模P加法、模P减法和模P 乘法中的其中一个,所述预设数量小于所述维表的维表记录数。
结合第一方面的第二种可能实现的方式,在第三种可能实现的方 式中,所述将所述维表对应的事实表按照所述分区映射表进行分区, 并按照所述分区映射表备份所述事实表中的数据包括:
根据所述事实表中所述连接键与所述预设数量按照所述预设算 法获取的余数确定所述分区映射表的纵坐标,选取所述纵坐标对应比 特值为1的节点为所述连接键对应的事实表数据的分区节点;
将所述事实表的数据按照确定的分区节点进行分区,其中,当根 据所述连接键获取的所述纵坐标对应的比特值为1有至少两个节点 时,将所述连接键对应的事实表数据同时分布在所述至少两个节点 上。
结合第一方面的第三种可能实现的方式,在第四种可能实现的方 式中,所述方法还包括:
若在将所述事实表按照所述分区映射表进行分区时,出现备份的 事实表数据没有同时备份在所述至少两个节点上,则根据所述分区映 射表查找将所述事实表数据备份成功的节点;
根据所述备份成功的节点中的事实表数据和所述分区映射表,获 取丢失的备份事实表数据,以便于从所述备份成功的节点获取所述丢 失的备份事实表数据。
第二方面,提供一种设备,包括:
第一分区单元,用于将分布式数据库中的维表进行数据分区;
建立单元,用于根据所述维表的分区特征并按照预设算法建立分 区映射表;
第二分区单元,用于将所述维表对应的事实表按照所述分区映射 表进行分区;以及
备份单元,用于按照所述分区映射表备份所述事实表中的数据。
结合第二方面,在第二方面的第一种可能实现的方式中,所述第 一分区单元具体用于:
按照哈希算法,将所述分布式数据库中的维表进行数据分区,以 获取分区后各个节点对应的维表的数据。
结合第二方面的第一种可能实现的方式,在第二方面的第二种可 能实现的方式中,所述建立单元具体用于:
根据所述分区后各个节点对应的维表和所述事实表的连接键,与 待建立的分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据所述余数建立所述分区映射表,所述分区映射表为比特向量 表,所述比特向量表的横坐标表示各个节点的标识符,纵坐标表示所 述连接键与所述预设数量进行预设算法后的余数;
其中,所述预设运算为取模运算、模P加法、模P减法和模P 乘法中的其中一个,所述预设数量小于所述维表的维表记录数。
结合第二方面的第二种可能实现的方式,在第二方面的第三种可 能实现的方式中,所述第二分区单元和所述备份单元具体用于:
根据所述事实表中所述连接键与所述预设数量按照所述预设算 法获取的余数确定所述分区映射表的纵坐标,选取所述纵坐标对应比 特值为1的节点为所述连接键对应的事实表数据的分区节点;
将所述事实表的数据按照确定的分区节点进行分区,其中,当根 据所述连接键获取的所述纵坐标对应的比特值为1有至少两个节点 时,将所述连接键对应的事实表数据同时分布在所述至少两个节点 上。
结合第二方面的第三种可能实现的方式,在第二方面的第四种可 能实现的方式中,还包括:
查找单元,用于若在将所述事实表按照所述分区映射表进行分区 时,出现备份的事实表数据没有同时备份在所述至少两个节点上,则 根据所述分区映射表查找将所述事实表数据备份成功的节点;
获取单元,用于根据所述备份成功的节点中的事实表数据和所述 分区映射表,获取丢失的备份事实表数据,以便于从所述备份成功的 节点获取所述丢失的备份事实表数据。
第三方面,提供一种设备,包括:
处理器,用于将分布式数据库中的维表进行数据分区;
所述处理器,还用于根据所述维表的分区特征并按照预设算法建 立分区映射表;
所述处理器,还用于将所述维表对应的事实表按照所述分区映射 表进行分区,并按照所述分区映射表备份所述事实表中的数据。
结合第三方面,在第一种可能实现的方式中,所述处理器具体用 于:
按照哈希算法,将所述分布式数据库中的维表进行数据分区,以 获取分区后各个节点对应的维表的数据。
结合第三方面的第一种可能实现的方式,在第二种可能实现的方 式中,所述处理器具体用于:
根据所述分区后各个节点对应的维表和所述事实表的连接键,与 待建立的分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据所述余数建立所述分区映射表,所述分区映射表为比特向量 表,所述比特向量表的横坐标表示各个节点的标识符,纵坐标表示所 述连接键与所述预设数量进行预设算法后的余数;
其中,所述预设运算为取模运算、模P加法、模P减法和模P 乘法中的其中一个,所述预设数量小于所述维表的维表记录数。
结合第三方面的第二种可能实现的方式,在第三种可能实现的方 式中,所述处理器具体用于:
根据所述事实表中所述连接键与所述预设数量按照所述预设算 法获取的余数确定所述分区映射表的纵坐标,选取所述纵坐标对应比 特值为1的节点为所述连接键对应的事实表数据的分区节点;
将所述事实表的数据按照确定的分区节点进行分区,其中,当根 据所述连接键获取的所述纵坐标对应的比特值为1有至少两个节点 时,将所述连接键对应的事实表数据同时分布在所述至少两个节点 上。
结合第三方面的第三种可能实现的方式,在第四种可能实现的方 式中,所述处理器还用于:
若在将所述事实表按照所述分区映射表进行分区时,出现备份的 事实表数据没有同时备份在所述至少两个节点上,则根据所述分区映 射表查找将所述事实表数据备份成功的节点;
根据所述备份成功的节点中的事实表数据和所述分区映射表,获 取丢失的备份事实表数据,以便于从所述备份成功的节点获取所述丢 失的备份事实表数据。
本发明实施例提供一种数据分区方法和设备,通过将分布式数据 库中的维表进行数据分区,根据所述维表的分区特征并按照预设算法 建立分区映射表,将所述维表对应的事实表按照所述分区映射表进行 分区,并按照所述分区映射表备份所述事实表中的数据,这样在分区 的时候,可以通过预设的算法使得分区时记录出现冲突,利用冲突造 成冗余记录,用于数据备份,能够减少数据查询过程中的网络带宽, 同时创造备份数据。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附 图。
图1为本发明实施例提供的一种数据分区方法流程示意图;
图2为本发明又一实施例提供的一种数据分区方法流程示意图;
图3为本发明又一实施例提供的一种设备结构图;
图4为本发明又一实施例提供的一种设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进 行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。
实施例一
本发明实施例提供一种数据分区方法,如图1所示,包括:
101、设备将分布式数据库中的维表进行数据分区。
其中,这里的设备可以为计算机,有自身的磁盘,中央处理器 (CentralProcessingUnit,CPU)。本发明实施例的应用场景可以 是分布式大规模并行处理(Massiveparallelprocessing,mpp) 数据库中的数据分布问题。
具体的,在分布式mpp数据库中,当有join(连接查询)关系 的2个表中,可以先将维表按照通用算法进行数据分区,这里的通用 算法可以为hash哈希算法,例如,维表为order(订单),主键为 O_PK订单列,外键为C_PK顾客列,可以按照C_PK将维表进行分区, 由于预设C_PK是按照其对应值分配到不同节点的,因此可以获取分 区后各个节点对应的维表的数据。
102、设备根据维表的分区特征并按照预设算法建立分区映射表。
具体的,在将维表进行数据分区后,可以根据分区后各个节点 对应的维表和事实表的连接键(O_PK),与待建立的分区映射表的纵 坐标的预设数量N,按照预设算法获取余数;从而根据余数建立分区 映射表,其中,该分区映射表为比特向量表(bitmap),该bitmap 表的横坐标表示各个节点的标识符,纵坐标表示连接键与预设数量进 行预设算法后的余数。
示例性的,该预设算法可以为取模算法O_PK%N、模P加法 (O_PK+P)%N、模P减法(O_PK-P)%N、模P乘法(O_PK*P)%N中 的其中一个。需要说明的是这里的预设数量小于维表的维表记录数。
103、设备将维表对应的事实表按照分区映射表进行分区,并按 照分区映射表备份事实表中的数据。
具体的,根据事实表的连接键与预设数量按照预设算法获取的余 数确定分区映射表的纵坐标,选取纵坐标对应比特值为1的节点为连 接键对应的事实表数据的分区节点,进而将事实表的数据按照确定的 分区节点进行分区,其中,当根据连接键获取的纵坐标对应的比特值 为1有至少两个节点时,需要将连接键对应的事实表数据同时分布在 上述确定的至少两个节点上。
这样,由于bitmap表的纵坐标数量小于维表记录数,会存在至 少一个同一纵坐标下的至少两个节点的比特值都为1,使得将事实表 按照分区映射表的指示进行分区时,会出现分区冲突,从而可以产生 冗余记录,用于备份,这样能够减少数据查询过程中的网络带宽,同 时创造备份数据。
本发明实施例提供一种数据分区方法,通过将分布式数据库中的 维表进行数据分区,根据维表的分区特征并按照预设算法建立分区映 射表,将维表对应的事实表按照分区映射表进行分区,并按照分区映 射表备份事实表中的数据,这样在分区的时候,可以通过预设的算法 使得分区时记录出现冲突,利用冲突造成冗余记录,用于数据备份, 能够减少数据查询过程中的网络带宽,同时创造备份数据。
实施例二
本发明实施例提供一种数据分区方法,如图2所示,包括:
201、设备将分布式数据库中的维表进行数据分区。
其中,这里的设备可以为计算机,应用于分布式mpp数据库,解 决的是数据分布的问题。Mpp架构能够把我数据分布到多个节点上, 由多个节点并行处理,可以提高数据处理速度。
当两表之间有join连接查询操作时,可以先将维表按照通用算 法进行数据分区,这里的通用算法可以为hash哈希算法,维表是用 于存储事实表中对象的数据的属性的。
举例来说,可以是采用通用de基准测试组织半部的测试标准
benchmarkTPC-H(TransactionProcessingPerformance Council-H)所介绍的数据schema(架构)进行数据分区,如表1所 示为benchmarkTPC-H的schema数据分区。
表1benchmarkTPC-H的schema数据分区
可以理解到,customer1代表分配到节点1,customer2代表分 配到节点2,customer3代表分配到节点3。
因此,假设维表为Order1表格所示,可以根据上述哈希算法将 order1分区为Order1、Order2以及Order3,如表2所示,为Order 表的数据分区。
表2order的数据分区
可以知道,Order1是分区到节点1上的维表,Order2是分区到 节点2上的维表,Order3是分区到节点3上的维表。
202、设备根据分区后各个节点对应的维表和事实表的连接键, 与待建立的分区映射表的纵坐标的预设数量,按照预设算法获取余 数。
示例性的,这里的预设算法可以为取模算法、模P加法、模P 减法和模P乘法中的其中一个。这里的维表和事实表的连接键为 O_PK,假设待建立的分区映射表的纵坐标的预设数量为N,预设算法 为取模算法时,其余数可以表示为O_PK%N;模P加法可以表示为 (O_PK+p)%N;模P减法可以表示为(O_PK-p)%N;模P乘法可以表 示为(O_PK*p)%N。例如按照步骤201中的分区表,当O_PK为1,N 取值为4时,通过模p加法,取p为1时,(1+1)%4的余数为2。
需要说明的是,这里的预设数量N要小于分区前的维表的维表记 录数。步骤201中分区前的Order表的维表记录数为5,所以的取值 为小于5的值。
其中,这里的连接键O_PK在维表中可以为主键,在事实表中为 外键。
203、设备根据余数建立分区映射表,分区映射表为比特向量表。
其中,这里的分区映射表可以为比特向量(bitmap)表,也就是 通过bitmap算法建立分区映射表,这里bitmap表的横坐标表示各个 节点的标识符,纵坐标表示连接键与预设数量进行预设算法后的余 数。
示例性的,按照表2中分区后的Order1、Order2以及Order3 可以按照预设算法(模P加法,P=1,取N=4)计算余数得到的bitmap 表如表3所示。
表3bitmap表
B1 B2 B3 0 0 1 1 0 0 1 1 0 0 1 0
其中,在表3中从上往下的纵坐标依次为0,1,2,3。
可以理解的是,上述bitmap表的建立过程中,针对节点B1对应 的bit值,是通过Order1表格中的O_PK的值获得的,具体的,当 O_PK的值为1时,(1+1)%4的值为2,所以在表3中纵坐标为2横 坐标为B1的比特值为1;当O_PK的值为4时,(4+1)%4的值为1, 所以在表3中纵坐标为1横坐标的B1的比特值为1。
同理,对于节点B2和节点B3也同理可得。
204、设备根据事实表中连接键与预设数量按照预设算法获取的 余数确定分区映射表的纵坐标,选取纵坐标对应比特值为1的节点为 连接键对应的事实表数据的分区节点。
示例性的,假设上述Order表对应的事实表(Lineitem)如表4 所示。
表4Lineitem表
O_PK partkey 1 1 1 2 2 3 2 4 3 1 3 8 4 5 4 6 5 4
当O_PK为1时,假如按照上述模P加法得到(1+1)%4=2,在 bitmap表中纵坐标为2时,比特值为1的节点有B1和B2,也就是说 事实表中连接键O_PK为1时对应的事实表数据的分区节点为B1和 B2;当O_PK为3时,通过模P加法得到(3+1)%4=0,在bitmap表 中纵坐标为0时,比特值为1的节点为B3,也就是说事实表也就是 Lineitem表中O_PK为3时对应的事实表数据的分区节点为B3。同理, 可以将Lineitem表按照bitmap表的指示获取其分区节点。
205、设备将事实表的数据按照确定的分区节点进行分区,其中, 将连接键集合所对应的事实表数据同时分布在至少两个节点上。
具体的,通过步骤204中的说明,可以将Lineitem表中的数据 进行如下分区,如表5所示。
表5
由步骤204可知,bitmap表的第三行余数为2时的事实表中的 O_PK的值有1和5,因此Lineitem表中的数据{1,1}{1,2}{5,4} 是同时分布在B1与B2节点上的,这样,可以在将事实表分区时,进 行数据备份。
这是由于,当上述过程中根据维表建立bitmap表时,采用了类 压缩的算法,当N的取值小于维表记录数时,就会在建立bitmap表 时就会产生冗余现象,使得同一纵坐标对应的比特值为1的节点有多 个,从而在进行事实表数据分区时产生数据备份。
其中的冗余程度就和N的取值有关,当N取值为维表记录数的一 半时,则正好可以将事实表的数据备份一次。这样譬如在联机分析处 理OLAP的环境下,一般需求备份3份事实表数据时,N的取值可以 为维表记录数的三分之一。因此,本发明可以支持平滑动态调整冗余 度,来确定备份的次数。
这样,当各节点在进行结构化查询语言(StructuredQuery Language,SQL)时,各节点在同时处理join操作时就不需要进行网 络传输数据了。
例如通过实施例二中的维表和事实表的举例,对于B1节点来说, 分区后的B1节点的数据如表6所示。
表6
因此,在进行join操作时,就可以在B1节点本地进行数据的连 接查询,使得发生join操作后的数据结构可以如表7所示。
表7
C_PK O_PK partkey 1 1 1 1 1 2 1 4 5 1 4 5
这样,当发生重分区的时候,可以只分区需要join的列,通过 记录原来的位置从而和其它列联系起来,不分区其它无关的列,可以 减少网络传输,在保存时也就不用保存多余的列,可以节省存储空间, 同时可以进行数据备份。
在上述过程中,若在将事实表按照bitmap表进行分区时,出现 备份的事实表数据没有同时备份在至少两个节点上,则可以根据分区 映射表查找将事实表数据备份成功的节点,而后,根据备份成功的节 点中的事实表数据和bitmap表,获取丢失的备份事实表数据,以便 于从备份成功的节点获取丢失的备份事实表数据。
举例来说,在将事实表分区进行备份时,将数据{1,1}{1,2}{5, 4}成功备份在了B2节点上,而B1节点中分区时发生了记录丢失,由 于备份是由于bitmap表中纵坐标为2时B1节点和B2节点同时为1, 可以计算纵坐标为2时反推出O_PK的值为1和5,因此,需要将B2 节点中的{1,1}{1,2}{5,4}数据传送至B1节点。也就是说,从bitmap 表中可以很容易得知某行数据是否有备份数据及其备份数据的位置。
本发明实施例提供一种数据分区方法,设备将分布式数据库中的 维表进行数据分区,根据分区后各个节点对应的维表和事实表的连接 键,与待建立的分区映射表的纵坐标的预设数量,按照预设算法获取 余数,再根据余数建立分区映射表,分区映射表为比特向量表,进而 根据事实表中连接键与预设数量按照预设算法获取的余数确定分区 映射表的纵坐标,选取纵坐标对应比特值为1的节点为连接键对应的 事实表数据的分区节点,将事实表的数据按照确定的分区节点进行分 区,其中,将连接键集合所对应的事实表数据同时分布在至少两个节 点上,这样在分区的时候,可以通过预设的算法使得分区时记录出现 冲突,利用冲突造成冗余记录,用于数据备份,能够减少数据查询过 程中的网络带宽,同时创造备份数据。
本发明实施例提供一种设备01,如图3所示,包括:
第一分区单元011,用于将分布式数据库中的维表进行数据分 区。
建立单元012,用于根据维表的分区特征并按照预设算法建立分 区映射表。
第二分区单元013,用于将维表对应的事实表按照分区映射表进 行分区;以及
备份单元014,用于按照分区映射表备份事实表中的数据。
可选的,第一分区单元011可以具体用于:
按照哈希算法,将分布式数据库中的维表进行数据分区,以获取 分区后各个节点对应的维表的数据。
可选的,建立单元012可以具体用于:
根据分区后各个节点对应的维表和事实表的连接键,与待建立的 分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据余数建立分区映射表,分区映射表为比特向量表,比特向量 表的横坐标表示各个节点的标识符,纵坐标表示连接键与预设数量进 行预设算法后的余数;
其中,预设运算为取模运算、模P加法、模P减法和模P乘法中 的其中一个,预设数量小于维表的维表记录数。
可选的,第二分区单元013和备份单元014可以具体用于:
根据事实表中连接键与预设数量按照预设算法获取的余数确定 分区映射表的纵坐标,选取纵坐标对应比特值为1的节点为连接键对 应的事实表数据的分区节点;
将事实表的数据按照确定的分区节点进行分区,其中,当根据连 接键获取的纵坐标对应的比特值为1有至少两个节点时,将连接键对 应的事实表数据同时分布在至少两个节点上。
可选的,还可以包括:
查找单元015,用于若在将事实表按照分区映射表进行分区时, 出现备份的事实表数据没有同时备份在至少两个节点上,则根据分区 映射表查找将事实表数据备份成功的节点;
获取单元016,用于根据备份成功的节点中的事实表数据和分区 映射表,获取丢失的备份事实表数据,以便于从备份成功的节点获取 丢失的备份事实表数据。
本发明实施例提供设备,通过将分布式数据库中的维表进行数据 分区,根据维表的分区特征并按照预设算法建立分区映射表,将维表 对应的事实表按照分区映射表进行分区,并按照分区映射表备份事实 表中的数据,这样在分区的时候,可以通过预设的算法使得分区时记 录出现冲突,利用冲突造成冗余记录,用于数据备份,能够减少数据 查询过程中的网络带宽,同时创造备份数据。
本发明实施例提供一种设备02,如图4所示,该设备02包括: 总线021、处理器022、发射器023、接收器024以及存储器025,其 中,该存储器025用于存储指令和数据,处理器022执行该指令用于 将分布式数据库中的维表进行数据分区;处理器022执行该指令还用 于根据维表的分区特征并按照预设算法建立分区映射表;处理器022 执行该指令还用于将维表对应的事实表按照分区映射表进行分区,并 按照分区映射表备份事实表中的数据。
在本发明实施例中,可选的,处理器022执行该指令可以具体用 于:
按照哈希算法,将分布式数据库中的维表进行数据分区,以获取 分区后各个节点对应的维表的数据。
在本发明实施例中,可选的,处理器022执行该指令可以具体用 于:
根据分区后各个节点对应的维表和事实表的连接键,与待建立的 分区映射表的纵坐标的预设数量,按照预设算法获取余数;
根据余数建立分区映射表,分区映射表为比特向量表,比特向量 表的横坐标表示各个节点的标识符,纵坐标表示连接键与预设数量进 行预设算法后的余数;
其中,预设运算为取模运算、模P加法、模P减法和模P乘法中 的其中一个,预设数量小于维表的维表记录数。
在本发明实施例中,可选的,处理器022执行该指令可以具体用 于:
根据事实表中连接键与预设数量按照预设算法获取的余数确定 分区映射表的纵坐标,选取纵坐标对应比特值为1的节点为连接键对 应的事实表数据的分区节点;
将事实表的数据按照确定的分区节点进行分区,其中,当根据连 接键获取的纵坐标对应的比特值为1有至少两个节点时,将连接键对 应的事实表数据同时分布在至少两个节点上。
在本发明实施例中,可选的,处理器022执行该指令还可以具体 用于:
若在将事实表按照分区映射表进行分区时,出现备份的事实表数 据没有同时备份在至少两个节点上,则根据分区映射表查找将事实表 数据备份成功的节点;
根据备份成功的节点中的事实表数据和分区映射表,获取丢失的 备份事实表数据,以便于从备份成功的节点获取丢失的备份事实表数 据。
本发明实施例提供设备,通过将分布式数据库中的维表进行数据 分区,根据维表的分区特征并按照预设算法建立分区映射表,将维表 对应的事实表按照分区映射表进行分区,并按照分区映射表备份事实 表中的数据,这样在分区的时候,可以通过预设的算法使得分区时记 录出现冲突,利用冲突造成冗余记录,用于数据备份,能够减少数据 查询过程中的网络带宽,同时创造备份数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和 方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅 仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分, 实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或 者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点, 所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过 一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或 其它的形式。
另外,在本发明各个实施例中的设备和系统中,各功能单元可以 集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两 个或两个以上单元集成在一个单元中。且上述的各单元既可以采用硬 件的形式实现,也可以采用硬件加软件功能单元的形式实现。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关 的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中, 该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介 质包括:U盘、移动硬盘、只读存储器(ReadOnlyMemory,简称ROM)、 随机存取存储器(RandomAccessMemory,简称RAM)、磁碟或者光 盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并 不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范 围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。 因此,本发明的保护范围应所述以权利要求的保护范围为准。