CN115292360A - 一种副本的数据分区方法及装置 - Google Patents
一种副本的数据分区方法及装置 Download PDFInfo
- Publication number
- CN115292360A CN115292360A CN202211198405.1A CN202211198405A CN115292360A CN 115292360 A CN115292360 A CN 115292360A CN 202211198405 A CN202211198405 A CN 202211198405A CN 115292360 A CN115292360 A CN 115292360A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- query
- copies
- partition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/278—Data partitioning, e.g. horizontal or vertical partitioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/906—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种副本的数据分区方法及装置,用于数据物理分区领域,包括:获取数据查询集合和多个副本;对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;生成多个数据分类集合分别对应的数据分区方案;基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。如此,依据不同分类的特点对多个数据进行分类,得到多个分区方案,多个副本基于多个不同的分区方案进行分区,分区后的副本数据一致,而分区方案不一致,从而在查询副本的数据时可以快速得到查询结果,进而提高了查询效率。
Description
技术领域
本申请涉及数据物理分区领域,特别是涉及一种副本的数据分区方法及装置。
背景技术
随着互联网的不断发展,主流的分布式数据管理系统均采用分布式架构来提高系统的可靠性,在分布式的环境下,数据的分区方式对数据库的性能和存储有至关重要的影响。
目前,基于相同的分区方案对多个副本进行分区,由于多个副本按照相同的分区方案进行分区,分区后的副本数据均一致,导致查询副本中的数据时查询效率较低。
因此,如何提高查询效率是本领域技术人员关注的重点问题。
发明内容
基于上述问题,本申请提供了一种副本的数据分区方法及装置,以提高查询效率。本申请实施例公开了如下技术方案:
第一方面,本申请公开了一种副本的数据分区方法,包括:
获取数据查询集合和多个副本,所述数据查询集合包括用户查询数据库时输入的查询数据,所述多个副本中的数据为数据库所记录的数据,所述多个副本中的数据是相同的;
对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;
生成多个数据分类集合分别对应的数据分区方案;
基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
可选的,目标数据分类集合为所述多个数据分类集合中的任意一个,所述目标数据分类集合包括多个目标数据和多个目标数据所对应的数据格式,所述生成多个数据分类集合分别对应的数据分区方案,包括:
对所述多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量;
根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案。
可选的,目标数据分类集合为所述多个数据分类集合中的任意一个,所述目标数据分类集合包括多个目标数据和多个目标数据所对应的数据格式,所述生成多个数据分类集合分别对应的数据分区方案,包括:
生成所述多个目标数据所对应的多个数据格式分别对应的数据分区方案。
可选的,还包括:
获取目标查询数据,所述目标查询数据为用户基于数据库查询数据库时输入的数据,所述目标查询数据具有对应的数据维度和数据格式;
基于所述目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,所述目标分区副本对应的数据维度和数据格式与所述目标查询数据对应的数据维度和数据格式相匹配;
将所述目标查询数据发送到所述目标分区副本进行查询并返回查询结果。
可选的,还包括:
将目标副本中数据所对应的数据信息进行更新;
基于对目标副本数据的更新,更新所述多个副本中的其余副本。
第二方面,本申请公开了一种副本的数据分区装置,包括:
获取模块,用于获取数据查询集合和多个副本,所述数据查询集合包括用户查询数据库时输入的查询数据,所述多个副本中的数据为数据库所记录的数据,所述多个副本中的数据是相同的;
分类模块,用于对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;
生成模块,用于生成多个数据分类集合分别对应的数据分区方案;
分区模块,用于基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
可选的,所述生成模块,包括:
统计模块,用于对多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量;
第一生成子模块,用于根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案。
可选的,所述生成模块,包括:
第二生成子模块,用于生成多个目标数据所对应的多个数据格式分别对应的数据分区方案。
可选的,还包括:
第一获取子模块,用于获取目标查询数据,所述目标查询数据为用户基于数据库查询数据库时输入的数据,所述目标查询数据具有对应的数据维度和数据格式;
确定模块,用于基于所述目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,所述目标分区副本对应的数据维度和数据格式与所述目标查询数据对应的数据维度和数据格式相匹配;
查询模块,用于将所述目标查询数据发送到所述目标分区副本进行查询并返回查询结果。
可选的,还包括:
第一更新模块,用于将目标副本中数据所对应的数据信息进行更新;
第二更新模块,用于基于对目标副本数据的更新,更新所述多个副本中的其余副本。
相较于现有技术,本申请具有以下有益效果:
本申请首先获取数据查询集合和多个副本,然后对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;生成多个数据分类集合分别对应的数据分区方案;最后基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。如此,依据不同分类的特点对多个数据进行分类,得到多个分区方案,多个副本基于多个不同的分区方案进行分区,分区后的副本数据一致,而分区方案不一致,从而在查询副本的数据时可以快速得到查询结果,进而提高了查询效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种副本的数据分区方法的流程图;
图2为本申请实施例提供的决策树结构示意图;
图3为本申请实施例提供的一种副本的数据分区装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
需要说明的是,本申请提供的一种副本的数据分区方法及装置,用于数据物理分区技术领域,上述仅为示例,并不对本申请提供的方法及装置名称的应用领域进行限定。
正如前文描述,现有技术中,基于相同的分区方案对多个副本进行分区,由于多个副本按照相同的分区方案进行分区,分区后的副本数据均一致,导致查询副本中的数据时查询效率较低。由此,如何提高查询效率是本领域技术人员关注的重点问题。
所以发明人提出本申请的技术方案,本申请首先获取数据查询集合和多个副本,然后对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;生成多个数据分类集合分别对应的数据分区方案;最后基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。如此,依据不同分类的特点对多个数据进行分类,得到多个分区方案,多个副本基于多个不同的分区方案进行分区,分区后的副本数据一致,而分区方案不一致,从而在查询副本的数据时可以快速得到查询结果,进而提高了查询效率。
本申请实施例提供的方法可以由终端设备上的软件执行。所述终端设备例如可以是手机、平板电脑、计算机等设备。所述软件例如可以是系统软件。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
方法实施例
以下通过一个实施例,对本申请提供的一种副本的数据分区方法进行说明。
现先对本申请文件中所涉及到的技术术语进行详细说明。
分布式数据库:将数据存储在不同的节点上,共同组成一个数据库。
数据物理分区:将数据按照特定规则进行切分,例如有如下8条数据:1,2,3,4,5,6,7,8,可以按照奇偶数切分为1,3,5,7和2,4,6,8两部分数据。
副本:将同一份数据复制的多个拷贝。通常是为了系统的高可用而设计,当一个副本因为系统宕机或者其他原因而无法获取时,可以从其他拷贝获取该数据。
数据查询集合:由一个或者多个查询数据组成的查询集合。
数据分类集合:将上述查询集合按照特定的规则进行划分,将一个查询集合划分为不同的子集合,这些子集合就称为分类。
参见图1,该图为本申请实施例提供的一种副本的数据分区方法的流程图,如图1所示,该方法可以包括:
S101:获取数据查询集合和多个副本。
在本步骤中,数据查询集合包括用户查询数据库时输入的查询数据,多个副本中的数据为数据库所记录的数据,并且多个副本中的数据是相同的,数据查询集合通常是通过记录一段时间内的查询而获得。
S102:对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合。
在本步骤中,采用分类算法对获取到的数据查询集合进行分类处理,数据查询集合里所存在的多个数据具有不同的数据维度,也就是在分类处理后,获得不同数据维度分别对应的数据分类集合。分类算法可以是k-medoids 算法(中心点聚类算法),也可以是k-means算法(硬聚类算法)、DB-SCAN算法(聚类算法)等,在此不做具体限定。为了简单起见,本申请选择k-medoids 算法(中心点聚类算法)对数据查询集合进行分类,k-medoids 算法(中心点聚类算法)的核心思想是通过将在同一聚类中的目标之间的距离最小化来达到对目标进行聚类的目的。k-medoids 算法(中心点聚类算法)首先随机的选取 k 个查询作为初始中心点,然后根据距离矩阵,将其余的查询按照距离最短的原则进行划分,然后算法迭代的更新中心点和重新划分工作负载,直到达到停止条件。
其中,数据分类集合的数量所对应的合适的值是副本的数量,由此本申请将生成的对应数量的分区方案可以完美的部署到每一个副本上,不会额外增加或者删除副本,不给系统带来额外开销,也不会增加系统的复杂度。因此,在本申请假设查询负载的分类数量与副本数量相同,数据分类集合的数据与副本数据不相同也可以采用本申请的技术方案,在此不做具体限定。
S103:生成多个数据分类集合分别对应的数据分区方案。
在本步骤中,目标数据分类集合包括多个目标数据和多个目标数据所对应的数据格式,目标数据分类集合为多个数据分类集合中的任意一个,首先对目标数据分类集合下多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量,然后根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案,如此可以极大的缩减搜索空间的大小,生成最优的数据分区方案。
也就是说,在生成数据分区方案之前,还会找到数据分区方案的搜索空间,搜索空间是所有分区方案组成的集合。其中,许多搜索算法都可以用来对分区方案进行搜索,例如遗传算法(Genetic Algorithm),模拟退火算法(Similated Anealing),分支界限算法(Branch and Bound)等等,在此不做具体限定。本申请选取分支界限算法作为示例,分支界限算法是针对离散和组合问题而提出的一种优化算法。在分支界限算法中,构建一个决策树的结构,如图2所示,该决策树共有三种不同类型的节点。
根节点。根节点是数据分区方案的初始化节点,在根节点中,所有的数据表可以被任意分区,数据表为目标数据所存在的数据表。
分支节点。每一个中间节点都是一个不完整的数据分区方案,在这个不完整的数据分区方案中,部分数据表已经被分区,部分还没有被分区,这些未被分区的数据表有可能会被进一步分区,同时,该分支节点也有可能因为代价过高而无需进一步分区被剪枝。
叶子节点。每一个叶子节点都是一个完整的数据分区方案,其中的每一个数据表都不允许被重新分区。
为了提高算法的效率和减少搜索时间,本申请根据目标数据数量最多的数据格式生成分区方案,也就是在每次选择数据表和属性的时候都是被访问次数最多的,以生成完整的数据分区方案。如果当前新生成的数据分区方案超过了存储空间限制,则该方案被丢弃。如果该方案没有超过存储空间限制,则需要与当前的最优方案进行对比,如果该方案的代价比当前的最优方案更低,则用该方案替换当前的最优方案,否则该方案同样被丢弃。算法迭代执行直到达到终止条件,根据不同的应用场景,终止条件有不同的组合,包括但不限于如下几种:没有可以扩展的分支节点;超过了指定的搜索时间限制或者已经找到了满足要求的完整分区方案。
作为另一种可实现的实施方式,在获得不同数据格式所对应的目标数据数量之后,生成多个目标数据数量所对应的数据格式分别对应的数据分区方案,以便后续操作中根据不同数据格式所对应的分区副本查询数据。
S104:基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本。
在本步骤中,根据目标数据数量最多的数据格式所对应的分式方案对多个副本进行分区,或者是根据多个目标数据数量所对应的数据格式分别对应的数据分区方案对多个副本进行分区,生成多个数据分区方案所对应的分区副本,其中,一个数据分区方案对应一个副本。
进一步的,获取目标查询数据,目标查询数据为用户基于数据库查询数据库时输入的数据,目标查询数据具有对应的数据维度和数据格式,然后根据目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,目标分区副本对应的数据维度和数据格式与目标查询数据对应的数据维度和数据格式相匹配;最后将目标查询数据发送到目标分区副本进行查询并返回查询结果(也就是下文所述的已知查询),如此,可以提高查询效率。
作为一种可实现的实施方式,若多个分区副本对应的数据维度和数据格式与目标查询数据对应的数据维度和数据格式均不相匹配,那么将该目标查询数据发送到同一数据分类集合下的不同分区副本中进行查询并返回查询结果(也就是下文所述的新查询)。
可以理解的是,在分布式数据库中,逻辑上服务器可以分为两层,即通常由一台主服务器(Master Sever)和多个从服务器(Slave Server)构成。主服务器负责接收查询请求并将查询请求根据特定的转发策略转发至不同的从服务器进行响应。从服务器将接收到的转发请求在本机执行并将结果转至指定的节点(跨节点查询情况下需多个从服务器协同执行)或者直接返回至主服务器(单节点查询)。为了将查询路由到其合适的副本上,在主服务器上增加一个三元组的数据结构来帮助路由策略为不同的查询寻找合适的副本:
< StatementID,ClusterID,ReplicaID >
为了减少对主服务器的存储需求,使得该结构能够载入内存以便快速执行路由策略,可以像对工作负载的压缩一样对该结构进行压缩。根据服务器的两层架构,路由也可以分为两个阶段,第一阶段是从主服务器路由至从服务器,第二阶段是从服务器分发至其下的数据节点。只考虑第一阶段的路由策略,第二阶段的保持不变。根据查询的特点,将其分为三种类型,分别使用不同的路由策略进行处理。
①已知查询
已知查询是指在对数据查询集合进行分类以及寻找数据分区方案的过程中出现过的查询。当接收到这样的查询请求的时候,主服务器可以通过查询三元组找到该查询对应的副本,然后将其路由到对应的副本中进行执行并响应。
②ad-hoc 查询(新查询)
与已知查询对应,新查询是指从未在数据查询集合进行分类或者生成数据分区方案的过程中出现过得查询。当主服务器接收到这种查询的时候,无法通过查询三元组定位到其应该分发的从服务器,则直接、随机的选择一个副本将其路由。
此外,在本申请中还包括:将目标副本中数据所对应的数据信息进行更新;基于对目标副本数据的更新更新多个副本中的其余副本。
也就是上文所述的第三种查询——更新查询。为了保证各个副本之间数据的一致性,更新操作必须在所有副本上执行。本申请采用更新自动补全(UAC,Update Auto-Complete)的方式来更新副本,以减少更新操作对系统性能的影响,数据表都包含主键(一个或者多个属性),并且数据库也会为这些主键创建索引,所以本申请利用这些索引来执行更新操作。
首先,将更新操作作为一个新查询来进行路由,然后构造一个针对该更新操作的查询请求,并且发送到相同的副本上来查询出被该更新操作所影响的那些数据记录(或者可以通过对日志进行分析得到),最后根据返回记录的主键以及更新操作,构造出包含主键的新的更新操作,然后发送到所有副本,以提高更新操作的性能。
下面结合具体示例来进行说明。在该示例中,假设A、B、C三个副本分别被三个分区方案 P1, P2 和 P3 进行分区,并且数据表 T 分别被三个分区方案按照属性 C1,C2 和C3 进行分区,且数据表 T 的主键为这三个属性。如果更新操作只包含属性 C1,则A副本,即按照 P1 进行分区的副本能够最快的执行该更新操作,然后基于A副本的更新操作更新B副本和C副本,如此,三个副本都能够利用相应的索引执行更新操作。
可见,本可选方案主要是说明如何基于不同分区方案对副本进行分区。具体的,在本可选方案中,本申请首先获取数据查询集合和多个副本,然后对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;生成多个数据分类集合分别对应的数据分区方案;最后基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
综上,在本实施例中依据不同分类的特点对多个数据进行分类,得到多个分区方案,多个副本基于多个不同的分区方案进行分区,分区后的副本数据一致,而分区方案不一致,从而在查询副本的数据时可以快速得到查询结果,进而提高了查询效率。
装置实施例
下面对本申请实施例提供的一种副本的数据分区装置进行介绍,下文描述的一种副本的数据分区装置与上文描述的一种副本的数据分区方法可相互对应参照。
参见图3,该图为本申请实施例提供的一种副本的数据分区装置的结构示意图,如图3所示,该装置可以包括:
获取模块100,用于获取数据查询集合和多个副本,所述数据查询集合包括用户查询数据库时输入的查询数据,所述多个副本中的数据为数据库所记录的数据,所述多个副本中的数据是相同的;
分类模块200,用于对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;
生成模块300,用于生成多个数据分类集合分别对应的数据分区方案;
分区模块400,用于基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
可选的,所述生成模块300,包括:
统计模块,用于对多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量;
第一生成子模块,用于根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案。
可选的,所述生成模块300,包括:
第二生成子模块,用于生成多个目标数据所对应的多个数据格式分别对应的数据分区方案。
可选的,还包括:
第一获取子模块,用于获取目标查询数据,所述目标查询数据为用户基于数据库查询数据库时输入的数据,所述目标查询数据具有对应的数据维度和数据格式;
确定模块,用于基于所述目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,所述目标分区副本对应的数据维度和数据格式与所述目标查询数据对应的数据维度和数据格式相匹配;
查询模块,用于将所述目标查询数据发送到所述目标分区副本进行查询并返回查询结果。
可选的,还包括:
第一更新模块,用于将目标副本中数据所对应的数据信息进行更新;
第二更新模块,用于基于对目标副本数据的更新,更新所述多个副本中的其余副本。
本申请实施例所提供的副本的数据分区装置与上述实施例提供的副本的数据分区方法具有相同的有益效果,因此不再赘述。
需要说明的是,本申请实施例中提到的 “第一”、“第二”(若存在)等名称中的“第一”、“第二”只是用来做名字标识,并不代表顺序上的第一、第二。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种副本的数据分区方法及装置进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种副本的数据分区方法,其特征在于,包括:
获取数据查询集合和多个副本,所述数据查询集合包括用户查询数据库时输入的查询数据,所述多个副本中的数据为数据库所记录的数据,所述多个副本中的数据是相同的;
对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;
生成多个数据分类集合分别对应的数据分区方案;
基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
2.根据权利要求1的方法,其特征在于,目标数据分类集合为所述多个数据分类集合中的任意一个,所述目标数据分类集合包括多个目标数据和多个目标数据所对应的数据格式,所述生成多个数据分类集合分别对应的数据分区方案,包括:
对所述多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量;
根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案。
3.根据权利要求1的方法,其特征在于,目标数据分类集合为所述多个数据分类集合中的任意一个,所述目标数据分类集合包括多个目标数据和多个目标数据所对应的数据格式,所述生成多个数据分类集合分别对应的数据分区方案,包括:
生成所述多个目标数据所对应的多个数据格式分别对应的数据分区方案。
4.根据权利要求1的方法,其特征在于,还包括:
获取目标查询数据,所述目标查询数据为用户基于数据库查询时输入的数据,所述目标查询数据具有对应的数据维度和数据格式;
基于所述目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,所述目标分区副本对应的数据维度和数据格式与所述目标查询数据对应的数据维度和数据格式相匹配;将所述目标查询数据发送到所述目标分区副本进行查询并返回查询结果。
5.根据权利要求1的方法,其特征在于,还包括:
将目标副本中数据所对应的数据信息进行更新;
基于对目标副本数据的更新,更新所述多个副本中的其余副本。
6.一种副本的数据分区装置,其特征在于,包括:
获取模块,用于获取数据查询集合和多个副本,所述数据查询集合包括用户查询数据库时输入的查询数据,所述多个副本中的数据为数据库所记录的数据,所述多个副本中的数据是相同的;
分类模块,用于对所述数据查询集合进行分类,获得多种数据维度分别对应的数据分类集合;
生成模块,用于生成多个数据分类集合分别对应的数据分区方案;
分区模块,用于基于所述数据分区方案对所述多个副本进行分区,生成多个数据分区方案所对应的分区副本,一个数据分区方案对应一个副本。
7.根据权利要求6的装置,其特征在于,所述生成模块,包括:
统计模块,用于对多个目标数据所对应的数据格式进行统计,获得不同数据格式所对应的目标数据数量;
第一生成子模块,用于根据所对应目标数据数量最多的数据格式,生成数据分类集合对应的数据分区方案。
8.根据权利要求6的装置,其特征在于,所述生成模块,包括:
第二生成子模块,用于生成多个目标数据所对应的多个数据格式分别对应的数据分区方案。
9.根据权利要求6的装置,其特征在于,还包括:
第一获取子模块,用于获取目标查询数据,所述目标查询数据为用户基于数据库查询数据库时输入的数据,所述目标查询数据具有对应的数据维度和数据格式;
确定模块,用于基于所述目标查询数据对应的数据维度和数据格式从多个分区副本中确定目标分区副本,所述目标分区副本对应的数据维度和数据格式与所述目标查询数据对应的数据维度和数据格式相匹配;
查询模块,用于将所述目标查询数据发送到所述目标分区副本进行查询并返回查询结果。
10.根据权利要求6的装置,其特征在于,还包括:
第一更新模块,用于将目标副本中数据所对应的数据信息进行更新;
第二更新模块,用于基于对目标副本数据的更新,更新所述多个副本中的其余副本。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198405.1A CN115292360A (zh) | 2022-09-29 | 2022-09-29 | 一种副本的数据分区方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211198405.1A CN115292360A (zh) | 2022-09-29 | 2022-09-29 | 一种副本的数据分区方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115292360A true CN115292360A (zh) | 2022-11-04 |
Family
ID=83834866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211198405.1A Pending CN115292360A (zh) | 2022-09-29 | 2022-09-29 | 一种副本的数据分区方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292360A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016206100A1 (zh) * | 2015-06-26 | 2016-12-29 | 华为技术有限公司 | 一种数据表的分区管理方法及装置 |
CN109815303A (zh) * | 2018-12-29 | 2019-05-28 | 哈尔滨工业大学(深圳) | 一种基于位置的移动数据存储系统 |
CN113821563A (zh) * | 2021-08-11 | 2021-12-21 | 贝格迈思(深圳)科技有限公司 | 一种非对称多副本的分布式事务处理方法及系统 |
CN113849523A (zh) * | 2021-09-28 | 2021-12-28 | 天元大数据信用管理有限公司 | 一种数据查询方法、设备及介质 |
CN114398371A (zh) * | 2022-01-13 | 2022-04-26 | 九有技术(深圳)有限公司 | 数据库集群系统多副本分片方法、装置、设备及存储介质 |
-
2022
- 2022-09-29 CN CN202211198405.1A patent/CN115292360A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016206100A1 (zh) * | 2015-06-26 | 2016-12-29 | 华为技术有限公司 | 一种数据表的分区管理方法及装置 |
CN109815303A (zh) * | 2018-12-29 | 2019-05-28 | 哈尔滨工业大学(深圳) | 一种基于位置的移动数据存储系统 |
CN113821563A (zh) * | 2021-08-11 | 2021-12-21 | 贝格迈思(深圳)科技有限公司 | 一种非对称多副本的分布式事务处理方法及系统 |
CN113849523A (zh) * | 2021-09-28 | 2021-12-28 | 天元大数据信用管理有限公司 | 一种数据查询方法、设备及介质 |
CN114398371A (zh) * | 2022-01-13 | 2022-04-26 | 九有技术(深圳)有限公司 | 数据库集群系统多副本分片方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10467245B2 (en) | System and methods for mapping and searching objects in multidimensional space | |
US7523130B1 (en) | Storing and retrieving objects on a computer network in a distributed database | |
US6405198B1 (en) | Complex data query support in a partitioned database system | |
US8688708B2 (en) | Storing and retrieving objects on a computer network in a distributed database | |
WO2009031915A1 (fr) | Système et procédés de stockage, de recherche et d'extraction des informations sur la base d'ensembles de données faiblement organisés et décentralisés | |
US9946752B2 (en) | Low-latency query processor | |
US9477772B2 (en) | Storing and retrieving objects on a computer network in a distributed database | |
US20140222873A1 (en) | Information system, management apparatus, method for processing data, data structure, program, and recording medium | |
CN107247778A (zh) | 用于实施可扩展数据存储服务的系统和方法 | |
US11151081B1 (en) | Data tiering service with cold tier indexing | |
CN113360456B (zh) | 数据归档方法、装置、设备以及存储介质 | |
WO2013046667A1 (ja) | 情報システム、その管理方法およびプログラム、データ処理方法およびプログラム、ならびに、データ構造 | |
US11496562B1 (en) | Method and system for accessing digital object in human-cyber-physical environment | |
US20200278960A1 (en) | Method and system for deriving a procedure for querying data | |
CN109189759A (zh) | Kv存储系统中的数据读取方法、数据查询方法、装置及设备 | |
CN112507026B (zh) | 基于键值模型、文档模型和图模型的分布式高速存储方法 | |
CN114840487A (zh) | 分布式文件系统的元数据管理方法和装置 | |
AU2002351296B2 (en) | System and method for processing a request using multiple database units | |
CN113641686B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN115292360A (zh) | 一种副本的数据分区方法及装置 | |
CN117251500B (zh) | 一种数据库动态读写分离的方法 | |
US11256688B2 (en) | System and method for querying a data structure | |
CN115469814A (zh) | 数据存储方法及装置 | |
WO2017131795A1 (en) | Processing time-varying data using an adjacency list representation of a time-varying graph | |
CN116910014A (zh) | 数据存储方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |