CN113360577A - 一种mpp数据库数据处理方法、装置、设备及存储介质 - Google Patents
一种mpp数据库数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113360577A CN113360577A CN202110678157.XA CN202110678157A CN113360577A CN 113360577 A CN113360577 A CN 113360577A CN 202110678157 A CN202110678157 A CN 202110678157A CN 113360577 A CN113360577 A CN 113360577A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- mpp database
- query
- target
- 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.)
- Withdrawn
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 25
- 230000001360 synchronised effect Effects 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000012545 processing Methods 0.000 claims abstract description 38
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 5
- 230000002085 persistent effect Effects 0.000 claims description 4
- 238000000354 decomposition reaction Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract 1
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- 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/23—Updating
-
- 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
- G06F16/24532—Query optimisation of parallel queries
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
本申请公开了一种MPP数据库数据处理方法,应用于MPP数据库中的任意一个节点,MPP数据库的每个节点均配置有RDMA接口,该方法包括以下步骤:在接收到MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;将目标数据存放在目标内存页面;确定同步数据信息;通过调用RDMA接口将同步数据信息发送给自身的副本节点,以使副本节点基于同步数据信息对本地内存缓存池进行同步更新。应用本申请所提供的技术方案,通过调用RDMA接口进行数据处理,减小了数据处理时延,提高了数据处理速率。本申请还公开了一种MPP数据库数据处理方法、装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种MPP数据库数据处理方法、装置、设备及存储介质。
背景技术
MPP(Massively Parallel Processing,大规模并行处理)数据库是一种无共享架构的分布式并行结构化数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI(BehaviorIdentity,行为识别)系统和决策支持系统。
MPP数据库采用并行和无共享的分布式扁平架构,这种架构中的每一个节点(node)均独立、自给,且节点之间对等,整个系统中不存在单点瓶颈,具有较强的扩展性。为保障系统高可用性,同一个段数据的不同副本会备份复制到不同节点。
目前,MPP数据库的不同节点之间的数据传输所基于的数据交换组件支持的是UDP(User Datagram Protocol,用户数据报协议)/IP(Internet Protocol,网际互连协议),在数据传输过程中,待传输的数据需要由节点1的用户态复制到内核态,再由内核态复制到网络硬件的网卡缓存,然后通过UDP/IP协议传输给节点2,节点2实现逆过程,如图1所示。这样数据在每个节点内部都经历了多次复制,增大了数据处理时延,降低了数据处理速率。
发明内容
本申请的目的是提供一种MPP数据库数据处理方法、装置、设备及存储介质,以减少数据处理时延,提高数据处理速率。
为解决上述技术问题,本申请提供如下技术方案:
一种MPP数据库数据处理方法,应用于分布式大规模并行MPP数据库中的任意一个节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述方法包括:
在接收到所述MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
将所述目标数据存放在所述目标内存页面;
基于所述目标数据和所述目标内存页面的页面号,确定同步数据信息;
通过调用RDMA接口将所述同步数据信息发送给自身的副本节点,以使所述副本节点基于所述同步数据信息对本地内存缓存池进行同步更新。
在本申请的一种具体实施方式中,在所述将所述目标数据存放在所述目标内存页面之前,还包括:
确定自身的本地内存缓存池的容量占用是否达到设定阈值;
如果达到,则确定自身的本地内存缓存池中待持久化的内存页面集;
将所述内存页面集持久化到磁盘中;
相应的,所述确定同步数据信息,包括:
基于所述目标数据、所述目标内存页面的页面号及所述内存页面集中每个内存页面的页面号,确定同步数据信息。
在本申请的一种具体实施方式中,所述确定自身的本地内存缓存池中待持久化的内存页面集,包括:
根据最近最少使用算法计算自身的本地内存缓存池中各内存页面的权重;
将权重最小的设定比例的内存页面构成的集合确定为待持久化的内存页面集。
在本申请的一种具体实施方式中,还包括:
确定在设定时长内是否接收到所述副本节点通过调用RDMA接口返回的同步更新成功消息;
如果未接收到,则重复执行所述通过调用RDMA接口将所述同步数据信息发送给自身的副本节点的步骤。
在本申请的一种具体实施方式中,应用于分布式大规模并行MPP数据库中的主节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述方法包括:
接收数据查询任务;
将所述数据查询任务分解为多个查询子任务,所述多个查询子任务可并发执行;
确定每个查询子任务对应的节点;
通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
接收并汇总每个节点通过调用RDMA接口返回的查询结果。
在本申请的一种具体实施方式中,所述确定每个查询子任务对应的节点,包括:
针对每个查询子任务,确定当前查询子任务映射的数据段所在的节点集;
将所述节点集中负载最小的节点确定为所述当前查询子任务对应的节点。
一种MPP数据库数据处理装置,应用于分布式大规模并行MPP数据库中的任意一个节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述装置包括:
内存页面创建模块,用于在接收到所述MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
数据存放模块,用于将所述目标数据存放在所述目标内存页面;
同步数据信息确定模块,用于基于所述目标数据和所述目标内存页面的页面号,确定同步数据信息;
数据同步模块,用于通过调用RDMA接口将所述同步数据信息发送给自身的副本节点,以使所述副本节点基于所述同步数据信息对本地内存缓存池进行同步更新。
一种MPP数据库数据处理装置,应用于分布式大规模并行MPP数据库中的主节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述装置包括:
数据查询任务接收模块,用于接收数据查询任务;
数据查询任务分解模块,用于将所述数据查询任务分解为多个查询子任务,所述多个查询子任务可并发执行;
查询子任务对应节点确定模块,用于确定每个查询子任务对应的节点;
查询子任务调度模块,用于通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
查询结果汇总模块,用于接收并汇总每个节点通过调用RDMA接口返回的查询结果。
一种MPP数据库数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述的MPP数据库数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的MPP数据库数据处理方法的步骤。
应用本申请实施例所提供的技术方案,MPP数据库的每个节点均配置有RDMA接口,通过调用RDMA接口进行数据处理,减小了数据处理时延,提高了数据处理速率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为相关技术中MPP数据库节点间传输流程示意图;
图2为本申请实施例中一种MPP数据库数据处理方法的实施流程图;
图3为本申请实施例中MPP数据库节点间传输流程示意图;
图4为本申请实施例中另一种MPP数据库数据处理方法的实施流程图;
图5为图2对应的一种MPP数据库数据处理装置的结构示意图;
图6为图4对应的一种MPP数据库数据处理装置的结构示意图;
图7为本申请实施例中一种MPP数据库数据处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图2所示,为本申请实施例所提供的一种MPP数据库数据处理方法的实施流程图,该方法可以应用于MPP数据库中的任意一个节点,MPP数据库的每个节点均配置有RDMA(Remote Direct Memory Access,远程直接内存访问)接口,该方法可以包括以下步骤:
S210:在接收到MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面。
在本申请实施例中,MPP数据库可以包括主节点和多个其他节点,主节点作为分布式系统集群的大脑,可以负责与客户端连接,处理相应的数据写入、删除、修改、查询等请求。
主节点在接收到数据写入请求时,可以根据预设的数据分配规则,确定将待写入的目标数据写入到哪个节点。MPP数据库中的任意一个节点,在接收到主节点分配的待写入的目标数据时,可以在本地内存缓存池中创建目标内存页面。具体的,可以根据目标数据的大小,创建能够满足存放目标数据需求的相应数量的目标内存页面。
S220:将目标数据存放在目标内存页面。
MPP数据库的任意一个节点在接收到主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面之后,可以将目标数据存放在目标内存页面,以在本地内存缓存池中进行缓存。
S230:基于目标数据和目标内存页面的页面号,确定同步数据信息。
在将目标数据存放在目标内存页面之后,可以基于目标数据和目标内存页面的页面号,确定同步数据信息。具体的,如果除了数据写入操作没有对于本地内存缓存池的其他操作,则确定的同步数据信息包括目标数据和目标内存页面的页面号。如果还存在对本地内存缓存池的其他操作,则确定的同步数据信息还可以包括其他操作对应的信息。
S240:通过调用RDMA接口将同步数据信息发送给自身的副本节点,以使副本节点基于同步数据信息对本地内存缓存池进行同步更新。
在本申请实施例中,MPP数据库的每个节点具有相应的副本节点,当节点有数据更新时,其副本节点中的数据也需要进行同步更新。
MPP数据库中的任意一个节点将待写入的目标数据存放在目标内存页面,确定出同步数据信息后,可以调用RDMA接口将同步数据信息发送给自身的副本节点,这样副本节点即可接收到相应的同步数据信息,可以基于同步数据信息对本地内存缓存池进行同步更新。向副本节点发送同步数据信息的节点可以称为源节点。
具体的,如果同步数据信息包括目标数据和目标内存页面的页面号,则副本节点可以在自身的本地内存缓存池中根据目标内存页面的页面号创建相应的内存页面,将目标数据存放在该内存页面中。这样可以实现源节点与副本节点的数据同步。
当然,如果源节点存在多个副本节点,则其可以通过调用RDMA接口将同步数据信息分别发送给自身的每个副本节点,这样每个副本节点都可以基于同步数据信息对本地内存缓存池进行同步更新。
在实际应用中,如果源节点存在多个副本节点,还可以在调用RDMA接口将同步数据信息发送给自身的一个副本节点,该副本节点基于同步数据信息对本地内存缓存池进行同步更新之后,主节点通过读取元数据,可以将该副本节点选择为源节点,由该副本节点调用RDMA接口将同步数据信息分别发送给其他每个副本节点,实现每个副本节点中内存缓存池数据同步。这样之前的源节点可以继续接收新的待写入的数据,提高数据处理效率。
本申请实施例中,MPP数据库的每个节点上可以增加RDMA网卡HCA,或使用RDMA网卡替换原有TCP/IP网卡。当要进行数据同步时,待同步的数据由节点1的用户态可以直接通过网络硬件的RDMA网卡传输给节点2,节点2将其发送到用户态中缓存,如图3所示。
应用本申请实施例所提供的方法,MPP数据库的每个节点均配置有RDMA接口,通过调用RDMA接口进行数据同步,可以由源节点的用户态缓存发送到副本节点的用户态缓存,避免了在节点内部的多次复制,减小了数据处理时延,提高了数据处理速率。
在本申请的一个实施例中,在将目标数据存放在目标内存页面之前,该方法还可以包括以下步骤:
确定自身的本地内存缓存池的容量占用是否达到设定阈值;
如果达到,则确定自身的本地内存缓存池中待持久化的内存页面集;
将内存页面集持久化到磁盘中;
相应的,确定同步数据信息,包括:
基于目标数据、目标内存页面的页面号及内存页面集中每个内存页面的页面号,确定同步数据信息。
在本申请实施例中,对于MPP数据库中的任意一个节点而言,该节点在接收到MPP数据库中的主节点分配的待写入的目标数据后,可以确定自身的本地内存缓存池的容量占用是否达到设定阈值,该阈值可以根据实际情况进行设定和调整,如阈值为本地内存缓存池总容量的90%。如果本地内存缓存池的容量占用达到该设定阈值,则可以认为本地内存缓存池中可能没有足够的容量空间写入目标数据,可以进一步确定自身的本地内存缓存池中待持久化的内存页面集,然后将内存页面集持久化到磁盘中,以释放本地内存缓存池的空间,保证目标数据的顺利写入。
在将内存页面集持久化到磁盘中后,持久化的内存页面集中的数据不再占用本地内存缓存池的空间,可以在本地内存缓存池中创建目标内存页面后,将目标数据存放在目标内存页面。
相应的,可以基于目标数据、目标内存页面的页面号及内存页面集中每个内存页面的页面号,确定同步数据信息。在确定的同步数据信息中可以包括目标数据、目标内存页面的页面号及内存页面集中每个内存页面的页面号。这样,在通过调用RDMA接口将同步数据信息发送给自身的副本节点后,副本节点可以基于同步数据信息中的内存页面集中的每个内存页面的页面号,将本地内存缓存池中相应页面号的内存页面持久化到磁盘中,再在自身的本地内存缓存池中根据目标内存页面的页面号创建相应的内存页面,将目标数据存放在该内存页面中,实现数据同步。
在本申请的一种具体实施方式中,可以通过以下步骤确定自身的本地内存缓存池中待持久化的内存页面集:
步骤一:根据最近最少使用算法计算自身的本地内存缓存池中各内存页面的权重;
步骤二:将权重最小的设定比例的内存页面构成的集合确定为待持久化的内存页面集。
在本申请实施例中,对于MPP数据库中的任意一个节点而言,该节点在接收到待写入的目标数据,确定自身的本地内存缓存池的容量占用达到设定阈值的情况下,可以根据最近最少使用算法,即LRU算法,计算自身的本地内存缓存池中各内存页面的权重。内存页面的权重越小,表明该内存页面最近使用越少,内存页面的权重越大,表明该内存页面最近使用越多。
可以选择出权重最小的设定比例的内存页面,将这些内存页面构成的集合确定为待持久化的内存页面集。该比例可以根据实际情况进行设定和调整,如设定为10%。
将权重最小的设定比例的内存页面构成的集合确定为待持久化的内存页面集,将内存页面集持久化到磁盘中,使得持久化的数据是最近最少使用的,其他较多使用的数据仍保留在本地内存缓存池中,可以避免影响数据访问效率。
在本申请的一个实施例中,该方法还可以包括以下步骤:
确定在设定时长内是否接收到副本节点通过调用RDMA接口返回的同步更新成功消息;
如果未接收到,则重复执行通过调用RDMA接口将同步数据信息发送给自身的副本节点的步骤。
在本申请实施例中,副本节点基于同步数据信息对本地内存缓存池进行同步更新后,可以通过调用RDMA接口返回发送同步数据信息的源节点同步更新成功消息。源节点可以确定在设定时长内是否接收到副本节点返回的同步更新消息,如果接收到,则可以结束数据同步操作,如果未接收到,则可以重复执行通过调用RDMA接口将同步数据信息发送给自身的副本节点的步骤,以保证实现与副本节点的数据同步。
当然,如果源节点多次进行同步数据信息的发送,仍无法接收到副本节点返回的同步更新成功消息,则可以更换其他接口,如以太网协议接口进行数据同步操作,以提高数据同步成功率。
参见图4所示,为本申请实施例所提供的另一种MPP数据库数据处理方法的实施流程图,该方法可以应用于MPP数据库中的主节点,MPP数据库的每个节点均配置有RDMA接口,该方法可以包括以下步骤:
S410:接收数据查询任务。
MPP数据库中的主节点中可以部署有解析器,对于每一个连接请求,都会在主节点上面启动一个数据库引擎进程,负责处理这个连接提交的查询语句。对于每一条查询语句,数据库引擎进程中的解析器执行语法分析和词法分析,生成解析树。
主节点接收到数据查询任务后,可以继续执行后续步骤的操作。
S420:将数据查询任务分解为多个查询子任务。
多个查询子任务可并发执行。
在本申请实施例中,主节点接收到数据查询任务后,进一步可以将数据查询任务分解为多个可并发执行的查询子任务。具体可以根据数据写入规则对数据查询任务进行分解,得到可并发执行的查询子任务。如数据查询任务所对应查询的数据在写入时分解为多个数据段,每个数据段存储于不同节点中,将查询任务分解后得到的每个查询子任务可以对应每个数据段。
S430:确定每个查询子任务对应的节点。
不同查询子任务所对应的数据段可能在相同或不同的节点中存储,每个节点可能对应有多个副本节点。在将数据查询任务分解为多个查询子任务后,可以确定每个查询子任务对应的节点。
具体的,针对每个查询子任务,可以确定当前查询子任务映射的数据段所在的节点集;将节点集中负载最小的节点确定为当前查询子任务对应的节点。
当前查询子任务为当前操作所针对的查询子任务。针对于每个查询子任务,可以先确定当前查询子任务映射的数据段所在的节点集。每个数据段可以在多个节点上备份存储。确定出当前查询子任务映射的数据段所在的节点集后,可以将节点集中负载最小的节点确定为当前查询子任务对应的节点。一个节点负载较小,可以较快进行数据处理,提高执行效率。
这个过程也是一种优化过程。可以由主节点中部署的优化器执行。优化器根据解析器生成的解析树,生成查询计划。查询计划描述了如何执行查询。
S440:通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果。
主节点确定每个查询子任务对应的节点后,进一步可以通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,每个节点执行相应的查询子任务后,返回相应的查询结果。
具体的,主节点可以通过其上部署的调度器进行查询子任务的调度。在MPP数据库中,计算节点可以称为Segment节点,每一个Segment实例实际上就是一个数据库实例。调度器根据优化器生成的查询计划确定执行计划需要的计算资源,然后通过libpg协议给每个Segment实例发送连接请求,通过Segment实例上的数据库进程创建查询进程。调度器同时负责这些查询进程的整个生命周期。
MPP数据库的每个节点上均可以部署执行器,每个查询进程接收到从调度器发送过来的查询计划之后,通过执行器执行分配给自己的查询子任务。
在本申请实施例中,MPP数据库的每个节点均配置有RDMA接口,MPP数据库在执行数据查询任务的时候,会涉及到不同节点间的数据交换。在MPP数据库的系统架构中,数据交换组件通过RDMA协议进行数据交换。
S450:接收并汇总每个节点通过调用RDMA接口返回的查询结果。
主节点通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行后,可以得到相应的查询结果。主节点可以接收并汇总每个节点通过调用RDMA接口返回的查询结果,可以进一步对其进行优化后,返回给客户端,结束数据查询任务。
应用本申请实施例所提供的方法,MPP数据库的每个节点均配置有RDMA接口,通过调用RDMA接口进行数据查询,可以减小数据处理时延,提高了数据处理速率。
相应于上面图2所示的方法实施例,本申请实施例还提供了一种MPP数据库数据处理装置,应用于分布式大规模并行MPP数据库中的任意一个节点,MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,下文描述的MPP数据库数据处理装置与上文描述的MPP数据库数据处理方法可相互对应参照。
参见图5所示,该装置可以包括以下模块:
内存页面创建模块510,用于在接收到MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
数据存放模块520,用于将目标数据存放在目标内存页面;
同步数据信息确定模块530,用于基于目标数据和目标内存页面的页面号,确定同步数据信息;
数据同步模块540,用于通过调用RDMA接口将同步数据信息发送给自身的副本节点,以使副本节点基于同步数据信息对本地内存缓存池进行同步更新。
应用本申请实施例所提供的装置,MPP数据库的每个节点均配置有RDMA接口,通过调用RDMA接口进行数据同步,可以由源节点的用户态缓存发送到副本节点的用户态缓存,避免了在节点内部的多次复制,减小了数据处理时延,提高了数据处理速率。
在本申请的一种具体实施方式中,还包括内存页面持久化模块,用于:
在将目标数据存放在目标内存页面之前,确定自身的本地内存缓存池的容量占用是否达到设定阈值;
如果达到,则确定自身的本地内存缓存池中待持久化的内存页面集;
将内存页面集持久化到磁盘中;
相应的,同步数据信息确定模块530,用于:
基于目标数据、目标内存页面的页面号及内存页面集中每个内存页面的页面号,确定同步数据信息。
在本申请的一种具体实施方式中,内存页面持久化模块,用于:
根据最近最少使用算法计算自身的本地内存缓存池中各内存页面的权重;
将权重最小的设定比例的内存页面构成的集合确定为待持久化的内存页面集。
在本申请的一种具体实施方式中,还包括重复执行模块,用于:
确定在设定时长内是否接收到副本节点通过调用RDMA接口返回的同步更新成功消息;
如果未接收到,则触发数据同步模块540重复执行通过调用RDMA接口将同步数据信息发送给自身的副本节点的步骤。
相应于上面图4所示的方法实施例,本申请实施例还提供了一种MPP数据库数据处理装置,应用于分布式大规模并行MPP数据库中的主节点,MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,下文描述的MPP数据库数据处理装置与上文描述的MPP数据库数据处理方法可相互对应参照。
参见图6所示,该装置可以包括以下模块:
数据查询任务接收模块610,用于接收数据查询任务;
数据查询任务分解模块620,用于将数据查询任务分解为多个查询子任务,多个查询子任务可并发执行;
查询子任务对应节点确定模块630,用于确定每个查询子任务对应的节点;
查询子任务调度模块640,用于通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
查询结果汇总模块650,用于接收并汇总每个节点通过调用RDMA接口返回的查询结果。
应用本申请实施例所提供的装置,MPP数据库的每个节点均配置有RDMA接口,通过调用RDMA接口进行数据查询,可以减小数据处理时延,提高了数据处理速率。
在本申请的一种具体实施方式中,查询子任务对应节点确定模块630,用于:
针对每个查询子任务,确定当前查询子任务映射的数据段所在的节点集;
将节点集中负载最小的节点确定为当前查询子任务对应的节点。
相应于上面的方法实施例,本申请实施例还提供了一种MPP数据库数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述MPP数据库数据处理方法的步骤。
如图7所示,为MPP数据库数据处理设备的组成结构示意图,MPP数据库数据处理设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行MPP数据库数据处理方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
在接收到MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
将目标数据存放在目标内存页面;
基于目标数据和目标内存页面的页面号,确定同步数据信息;
通过调用RDMA接口将同步数据信息发送给自身的副本节点,以使副本节点基于同步数据信息对本地内存缓存池进行同步更新;
和/或,
接收数据查询任务;
将数据查询任务分解为多个查询子任务,多个查询子任务可并发执行;
确定每个查询子任务对应的节点;
通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
接收并汇总每个节点通过调用RDMA接口返回的查询结果。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如数据传输功能、数据缓存功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如内存页面数据、同步信息数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图7所示的结构并不构成对本申请实施例中MPP数据库数据处理设备的限定,在实际应用中MPP数据库数据处理设备可以包括比图7所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述MPP数据库数据处理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种MPP数据库数据处理方法,其特征在于,应用于分布式大规模并行MPP数据库中的任意一个节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述方法包括:
在接收到所述MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
将所述目标数据存放在所述目标内存页面;
基于所述目标数据和所述目标内存页面的页面号,确定同步数据信息;
通过调用RDMA接口将所述同步数据信息发送给自身的副本节点,以使所述副本节点基于所述同步数据信息对本地内存缓存池进行同步更新。
2.根据权利要求1所述的MPP数据库数据处理方法,其特征在于,在所述将所述目标数据存放在所述目标内存页面之前,还包括:
确定自身的本地内存缓存池的容量占用是否达到设定阈值;
如果达到,则确定自身的本地内存缓存池中待持久化的内存页面集;
将所述内存页面集持久化到磁盘中;
相应的,所述确定同步数据信息,包括:
基于所述目标数据、所述目标内存页面的页面号及所述内存页面集中每个内存页面的页面号,确定同步数据信息。
3.根据权利要求2所述的MPP数据库数据处理方法,其特征在于,所述确定自身的本地内存缓存池中待持久化的内存页面集,包括:
根据最近最少使用算法计算自身的本地内存缓存池中各内存页面的权重;
将权重最小的设定比例的内存页面构成的集合确定为待持久化的内存页面集。
4.根据权利要求1至3之中任一项所述的MPP数据库数据处理方法,其特征在于,还包括:
确定在设定时长内是否接收到所述副本节点通过调用RDMA接口返回的同步更新成功消息;
如果未接收到,则重复执行所述通过调用RDMA接口将所述同步数据信息发送给自身的副本节点的步骤。
5.一种MPP数据库数据处理方法,其特征在于,应用于分布式大规模并行MPP数据库中的主节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述方法包括:
接收数据查询任务;
将所述数据查询任务分解为多个查询子任务,所述多个查询子任务可并发执行;
确定每个查询子任务对应的节点;
通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
接收并汇总每个节点通过调用RDMA接口返回的查询结果。
6.根据权利要求5所述的MPP数据库数据处理方法,其特征在于,所述确定每个查询子任务对应的节点,包括:
针对每个查询子任务,确定当前查询子任务映射的数据段所在的节点集;
将所述节点集中负载最小的节点确定为所述当前查询子任务对应的节点。
7.一种MPP数据库数据处理装置,其特征在于,应用于分布式大规模并行MPP数据库中的任意一个节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述装置包括:
内存页面创建模块,用于在接收到所述MPP数据库中的主节点分配的待写入的目标数据时,在本地内存缓存池中创建目标内存页面;
数据存放模块,用于将所述目标数据存放在所述目标内存页面;
同步数据信息确定模块,用于基于所述目标数据和所述目标内存页面的页面号,确定同步数据信息;
数据同步模块,用于通过调用RDMA接口将所述同步数据信息发送给自身的副本节点,以使所述副本节点基于所述同步数据信息对本地内存缓存池进行同步更新。
8.一种MPP数据库数据处理装置,其特征在于,应用于分布式大规模并行MPP数据库中的主节点,所述MPP数据库的每个节点均配置有远程直接内存访问网络RDMA接口,所述装置包括:
数据查询任务接收模块,用于接收数据查询任务;
数据查询任务分解模块,用于将所述数据查询任务分解为多个查询子任务,所述多个查询子任务可并发执行;
查询子任务对应节点确定模块,用于确定每个查询子任务对应的节点;
查询子任务调度模块,用于通过调用RDMA接口,将每个查询子任务调度到相对应的节点上执行,得到相应的查询结果;
查询结果汇总模块,用于接收并汇总每个节点通过调用RDMA接口返回的查询结果。
9.一种MPP数据库数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的MPP数据库数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的MPP数据库数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678157.XA CN113360577A (zh) | 2021-06-18 | 2021-06-18 | 一种mpp数据库数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678157.XA CN113360577A (zh) | 2021-06-18 | 2021-06-18 | 一种mpp数据库数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360577A true CN113360577A (zh) | 2021-09-07 |
Family
ID=77535028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110678157.XA Withdrawn CN113360577A (zh) | 2021-06-18 | 2021-06-18 | 一种mpp数据库数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360577A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780214A (zh) * | 2022-04-01 | 2022-07-22 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
CN114885007A (zh) * | 2022-03-31 | 2022-08-09 | 阿里云计算有限公司 | 用于实时的强一致性会话同步的方法和电子设备 |
WO2024109239A1 (zh) * | 2022-11-25 | 2024-05-30 | 苏州元脑智能科技有限公司 | 集群数据同步方法、装置、设备及非易失性可读存储介质 |
-
2021
- 2021-06-18 CN CN202110678157.XA patent/CN113360577A/zh not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114885007A (zh) * | 2022-03-31 | 2022-08-09 | 阿里云计算有限公司 | 用于实时的强一致性会话同步的方法和电子设备 |
CN114780214A (zh) * | 2022-04-01 | 2022-07-22 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
CN114780214B (zh) * | 2022-04-01 | 2024-01-09 | 中国电信股份有限公司 | 任务处理方法、装置、系统及设备 |
WO2024109239A1 (zh) * | 2022-11-25 | 2024-05-30 | 苏州元脑智能科技有限公司 | 集群数据同步方法、装置、设备及非易失性可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11882054B2 (en) | Terminating data server nodes | |
CN113360577A (zh) | 一种mpp数据库数据处理方法、装置、设备及存储介质 | |
US8108623B2 (en) | Poll based cache event notifications in a distributed cache | |
US8209690B2 (en) | System and method for thread handling in multithreaded parallel computing of nested threads | |
CN108280080B (zh) | 一种数据同步方法、装置以及电子设备 | |
US9491238B2 (en) | Rapid client-side component processing based on component relationships | |
US20140129624A1 (en) | Bt offline data download system and method, and computer storage medium | |
US20170228422A1 (en) | Flexible task scheduler for multiple parallel processing of database data | |
US20120278817A1 (en) | Event distribution pattern for use with a distributed data grid | |
CN108509280B (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN106656525B (zh) | 一种数据广播系统、数据广播方法及设备 | |
CN112000287A (zh) | 一种io请求处理装置、方法、设备及可读存储介质 | |
Liu et al. | Optimizing shuffle in wide-area data analytics | |
CN111475480A (zh) | 一种日志处理方法及系统 | |
CN113885780A (zh) | 数据同步方法、装置、电子设备、系统和存储介质 | |
CN107562803B (zh) | 数据供应系统及方法、终端 | |
CN111949389A (zh) | 基于Slurm的信息采集方法和装置、服务器、计算机可读存储介质 | |
CN111488323A (zh) | 一种数据处理方法、装置及电子设备 | |
CN111291062A (zh) | 数据同步写入方法、装置、计算机设备及存储介质 | |
CN107451203B (zh) | 数据库访问方法及装置 | |
JP7122299B2 (ja) | 処理タスクを実行するための方法、装置、デバイス、および記憶媒体 | |
CN113297231A (zh) | 数据库处理方法及装置 | |
CN111597035A (zh) | 基于多线程的仿真引擎时间推进方法及系统 | |
EP3389222B1 (en) | A method and a host for managing events in a network that adapts event-driven programming framework | |
WO2018188959A1 (en) | Method and apparatus for managing events in a network that adopts event-driven programming framework |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210907 |