CN112035257B - 基于KV存储的mergejoin异步块运算方法 - Google Patents
基于KV存储的mergejoin异步块运算方法 Download PDFInfo
- Publication number
- CN112035257B CN112035257B CN202010893114.9A CN202010893114A CN112035257B CN 112035257 B CN112035257 B CN 112035257B CN 202010893114 A CN202010893114 A CN 202010893114A CN 112035257 B CN112035257 B CN 112035257B
- Authority
- CN
- China
- Prior art keywords
- data
- pipeline
- merge
- mergejoin
- result
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 10
- 230000000903 blocking effect Effects 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 9
- 230000007547 defect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Advance Control (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于KV存储的mergejoin异步块运算方法,属于算子优化技术领域,该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行通过管道通信,异步执行;包括读取数据模块、解码模块和merge运算模块,读取数据模块把数据块发送到读取管道,解码模块从管道中接收数据,并将解码出的数据以数据块的形式发送的解码管道中,merge运算模块建立结果管道,监听解码管道,从管道中接收数据块进行merge匹配运算,将运算结果按照设定规则,以数据块的形式发送到结果管道中。本发明能够有效提高cpu的利用率,避免各模块之间的多次调用,减小调用的开销。
Description
技术领域
本发明涉及算子优化技术领域,具体地说是基于KV存储的mergejoin异步块运算方法。
背景技术
当前在KV存储模式下,mergejoin算法存在的问题是:执行流程串行化,各个模块都要等待其调用的另一模块返回结果后再执行,cpu利用率不高,执行效率慢。匹配结果按行进行返回会重复多次的调用各个函数,函数调用深度大,开销较大。
发明内容
本发明的技术任务是针对以上不足之处,提供基于KV存储的mergejoin异步块运算方法,能够提高cpu的利用率,避免各模块之间的多次调用,减小调用的开销。
本发明解决其技术问题所采用的技术方案是:
基于KV存储的mergejoin异步块运算方法,其特征在于,该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行通过管道通信,异步执行;
包括读取数据模块、解码模块和merge运算模块,读取数据模块把数据块发送到读取管道,解码模块从管道中接收数据,并将解码出的数据以数据块的形式发送的解码管道中,merge运算模块建立结果管道,监听解码管道,从管道中接收数据块进行merge匹配运算,将运算结果按照设定规则,以数据块的形式发送到结果管道中。
该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行由以前各个模块互相调用变为,通过管道通信,异步执行,提高CPU的利用率。
在读取数据模块处建立管道,读取数据模块和解码模块通过管道传递数据,代替原先模块间互相调用的方式;在解码模块处建立管道,解码模块和计算模块通过管道传递数据,代替原先模块间互相调用的方式;在计算模块处建立管道,计算模块把结果发送到管道中,客户端从管道接收数据,代替原先模块间互相调用的方式;各个管道中的数据为数据块存储的格式,减少了从管道发送和接收的次数,避免了函数调用的开销。
优选的,在执行mergejoin算子前,通过表中的统计信息分出大、小表;根据大小表的大小比例把大表数据拆分成两个部分,同时启动两个mergejoin算子进行并行计算;把小表数据冗余出一份,与两部分大表数据同时进行merge运算。
优选的,通过表的存储范围分出大、小表。
优选的,所述读取数据模块,主进程通过go语言协程的方式启动两个go协程,去异步的读取大表和小表的原数据;通过go语言协程的方式启动两个merge算子协程并行执行merge运算,然后主协程等待处理两个merge算子返回的结果数据。
优选的,读取数据模块对大小表进行处理:在大表数据块上添加标志位,标志当前数据块为第几块数据,用于保证结果数据的先后顺序;小表数据块在读出后进行冗余处理,把相同的两份数据放入两个读取管道,供两个merge运算使用。
进一步的,一个merge算子具有两个解码模块,分别解码大表和小表,主协程启动两个merge算子协程;启动后,两个读取大表数据解码模块,两个读取小表数据解码模块,两个大表数据解码模块从同一个读取数据管道中读取数据,两个小表数据解码模块分别从两个管道中读取小表的原数据。这样通过管道通信的方式代替了以前函数调用的方式,建立解码结果管道,解码模块将解码出的数据,以数据块的形式发送到解码管道中。
优选的,读取模块在读取管道缓存满时进入阻塞状态;当表中数据读尽后读取数据协程结束,关闭读取管道;
当读取数据管道关闭并且管道中已没有数据时,解码模块执行结束,关闭解码结果管道。
进一步的,merge运算模块中通过go语言的channel建立结果管道,merge运算模块把计算结果按照大表标志位相同的规则,相同的标志位数据攒成一个数据块,以数据块的格式发送到结果管道中,直到发现任何一边的管道关闭并且管道中没有数据后,merge运算模块执行结束,关闭merge结果管道;
主协程从merge结果管道中接收结果数据块,按照数据块上标志位标志的先后顺序,进行结果整理,发送到客户端;当主协程从两个merge结果管道中读取完全数据后,整个mergejoin执行完毕。
本发明还要求保护基于KV存储的mergejoin异步块运算装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行上述的方法。
本发明还要求保护一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行上述的方法。
本发明的基于KV存储的mergejoin异步块运算方法与现有技术相比,具有以下有益效果:
该方法在kv存储模式下,以块为单位处理数据,各个执行模块通过管道缓存进行通信,以并行执行的方式代替原本通过函数调用执行的串行工作方式,提高了mergejoin算子的计算性能;
mergejoin算子中的各个执行模块异步执行,之间通过管道缓存进行通信,各个模块的执行互不干扰,这样各个模块并行执行,提高了cpu的利用率,并且管道以数据块的形式存放数据,避免了各个模块之间多次调用,减小了调用的开销。
附图说明
图1是本发明一个实施例提供的基于KV存储的mergejoin异步块运算流程图。
具体实施方式
NewSQL技术近几年发展十分迅猛,国内外都有了较成熟的系统,在业界一些开源系统的实现中,Rocksdb起到了核心的存储和查询功能。Rocksdb是一个高性能的嵌入式持久化key-value存储,很多开源的数据库的存储都是内嵌的Rocksdb,以key-value的存储格式来存储数据。
mergejoin是关联查询中的一种查询算法,关联查询是数据库中多个对象以某种连接关系去查询匹配结果的一种查询方式,主要有内连接、左连接、右连接、全连接、反连接等,如果当两个表关联列为主键列,或者索引列,且它们都是以升序/降序排列的(或者在查询前两列已经按相同顺序排好序),这时用这两列相等的条件进行关联查询时,就可以执行mergejoin查询算法。
mergejoin执行前首先要判断两个表的关联列是排好序的,并且顺序一致,否则要先对关联字段进行排序或者进行其他join算法,通过排序校验后,mergejoin先取两表中的第一条数据进行匹配,如果匹配成功,则把匹配结果放入结果集中,并读取下一条数据进行匹配运算;如果匹配失败,则按照此列是升序/降序排序,丢弃掉其中较小/较大的一条数据,然后去被丢弃数据的表中再取一条数据进行匹配,如果两表匹配到的数据不止一行,则对结果取笛卡尔积,直到其中一表的数据读取完毕,mergejoin算法结束,返回匹配结果。
在kv存储模式下,一般以key列进行join查询时,会执行mergejoin运算,当前一种实现mergejoin的算法,是用算子驱动读取原数据模块、解码模块、merge运算模块这三个模块串行化执行,通过接口调用的方式,系统先去读取原数据,返回给调用它的解码模块,解码模块从原数据中解码出一行数据返回到计算模块,计算模块拿到左右表的数据进行匹配,匹配计算完成后按行返回匹配结果,然后再由算子驱动读数据模块读取哪一个表的数据,然后再进行重复操作,直到某个表的数据被读尽。这种方法解码后直接按key列的二进制进行比较,充分发挥了kv存储方式的优势,缺点是执行流程串行化,各个模块都要等待其调用的另一模块返回结果后再执行,cpu利用率不高,执行效率慢。匹配结果按行进行返回会重复多次的调用各个函数,函数调用深度大,开销较大。
本方法的发明目的是在以上算法的基础上,使mergejoin算子中的各个执行模块异步执行,之间通过管道缓存进行通信,各个模块的执行互不干扰。这样,各个模块并行执行,提高了cpu的利用率,并且管道以数据块的形式存放数据,避免了各个模块之间多次调用,减小了调用的开销。
本发明实施例提供了一种基于KV存储的mergejoin异步块运算方法,其特征在于,该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行通过管道通信,异步执行;
首先要在执行mergejoin算子前通过表中的统计信息分出大小表,这样就把大表数据拆分成两部分数据,把小表数据冗余出一份,与两部分大表数据同时进行merge运算。实现方法为:主进程通过go语言协程的方式启动两个go协程,去异步的读取大表小表的原数据;通过go语言协程的方式启动两个merge算子协程并行执行merge运算;然后主协程等待处理两个merge算子返回的结果数据。
该方法包括读取数据模块、解码模块和merge运算模块。
读取数据模块:
在读取数据模块处通过go语言的channel的方式建立管道缓存,称之为读取数据管道,读取数据模块从rocksdb底层拿到二进制原始数据后,由以前的直接通过函数返回的方式返回一块数据,变为把数据块发送到读取管道,解码模块从管道中接收数据。并且要对大小表数据的读取做一些特殊处理:在大表数据块上要填加一标志位,标志当前数据块为第几块数据,用于保证结果数据的先后顺序;小表数据块在读出后要进行冗余处理,把相同的两份数据放入两个读取管道中,供两个merge算子使用。
读取模块在读取管道缓存满时进入阻塞状态。当表中数据读尽后读取数据协程结束,关闭读取管道。这样做就可以使读取数据模块脱离整个串行化执行过程,自己在一个go协程上单独执行,不会被其他模块干扰,不会被函数调用打断执行。
解码模块:
一个merge算子由两个解码模块组成,分别解码大表和小表的数据,主协程启动了两个merge算子协程,所以在启动后,会有两个读取大表数据解码模块,两个读取小表数据解码模块,两个大表数据解码模块从同一个读取数据管道中读取数据,两个小表数据解码模块则分别从两个管道中读取小表的原数据。这样通过管道通信的方式就代替了以前函数调用的方式,通过go语言的channel建立解码结果管道,解码模块将解码出的数据,以数据块的形式发送到解码管道中,并且大表数据要同时传递数据块的标志位,当发现读取数据管道关闭并且管道中已经没有数据时,解码模块执行结束,关闭解码结果管道。
merge运算模块:
在merge运算模块中通过go语言的channel建立结果管道,该模块在启动后,监听大小表的解码管道,如果管道中有结果,从管道中接收大小表解码后的数据块,进行merge匹配运算,并把计算结果按照大表标志位相同的规则,相同的标志位数据攒成一个数据块,以数据块的格式发送到结果管道中,直到发现任何一边的管道关闭并且管道中没有数据后,merge运算模块执行结束,关闭merge结果管道,这样做就使两个merge运算结果管道中的数据块结果都是按标志位有序的。
最后主协程从merge结果管道中接收结果数据块,按照数据块上标志位标志的先后顺序,进行结果整理,发送到客户端,当主协程从两个merge结果管道中读取完全不数据后,整个mergejoin执行完毕。
该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行由以前各个模块互相调用变为,通过管道通信,异步执行;在计划阶段通过表的存储范围等一些统计信息,区分出大小表,在开始执行mergejoin前根据大小表的大小比例,把大表拆分成两块,同时启动两个mergejoin算子进行并行计算;
在读取数据模块处建立管道,读取数据模块和解码模块通过管道传递数据,代替原先模块间互相调用的方式;在解码模块处建立管道,解码模块和计算模块通过管道传递数据,代替原先模块间互相调用的方式;在计算模块处建立管道,计算模块把结果发送到管道中,客户端从管道接收数据,代替原先模块间互相调用的方式;各个管道中的数据为数据块存储的格式,减少了从管道发送和接收的次数,避免了函数调用的开销。
通过大量的实验测得,在小数据量条件下,此方案提升效率并不显著,在10000行以内结果的mergejoin匹配计算中,两者执行时间基本相同,使用管道并没有体现出优势,在500000行左右结果的mergejoin匹配计算中使用此方案运行时间较之前串行化执行缩短了一些时间,在1000000行结果的匹配计算中,使用此方案可以比之前执行过程缩短大约40%左右的时间,综上所述,mergejoin异步块运算算法在数据量较大的前提下,可以缩短mergejoin的执行时间。
本发明实施例还提供了一种基于KV存储的mergejoin异步块运算装置,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行本发明上述实施例中所述的基于KV存储的mergejoin异步块运算方法。
本发明实施例还提供了一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行本发明上述实施例中所述的基于KV存储的mergejoin异步块运算方法。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。
在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。
此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
上文通过附图和优选实施例对本发明进行了详细展示和说明,然而本发明不限于这些已揭示的实施例,基与上述多个实施例本领域技术人员可以知晓,可以组合上述不同实施例中的代码审核手段得到本发明更多的实施例,这些实施例也在本发明的保护范围之内。
Claims (8)
1.基于KV存储的mergejoin异步块运算方法,其特征在于,该方法同时启动多个mergejoin算子进行并行计算,mergejoin算子执行通过管道通信,异步执行;
包括读取数据模块、解码模块和merge运算模块,读取数据模块把数据块发送到读取管道,解码模块从管道中接收数据,并将解码出的数据以数据块的形式发送的解码管道中,merge运算模块建立结果管道,监听解码管道,从管道中接收数据块进行merge匹配运算,将运算结果按照设定规则,以数据块的形式发送到结果管道中;
在执行 mergejoin算子前,通过表中的统计信息分出大、小表;把大表数据拆分成两个部分;把小表数据冗余出一份,与两部分大表数据同时进行merge运算;
读取数据模块对大小表进行处理:在大表数据块上添加标志位,标志当前数据块为第几块数据;小表数据块在读出后进行冗余处理,把相同的两份数据放入两个读取管道,供两个merge运算使用。
2.根据权利要求1所述的基于KV存储的mergejoin异步块运算方法,其特征在于,通过表的存储范围分出大、小表。
3.根据权利要求1所述的基于KV存储的mergejoin异步块运算方法,其特征在于,所述读取数据模块,主进程通过go语言协程的方式启动两个go协程,去异步的读取大表和小表的原数据;通过go语言协程的方式启动两个merge算子协程并行执行merge运算,然后主协程等待处理两个merge算子返回的结果数据。
4.根据权利要求1或3所述的基于KV存储的mergejoin异步块运算方法,其特征在于,一个merge算子具有两个解码模块,分别解码大表和小表,主协程启动两个merge算子协程;启动后,两个读取大表数据解码模块,两个读取小表数据解码模块,两个大表数据解码模块从同一个读取数据管道中读取数据,两个小表数据解码模块分别从两个管道中读取小表的原数据。
5.根据权利要求4所述的基于KV存储的mergejoin异步块运算方法,其特征在于,读取模块在读取管道缓存满时进入阻塞状态;当表中数据读尽后读取数据协程结束,关闭读取管道;
当读取数据管道关闭并且管道中已没有数据时,解码模块执行结束,关闭解码结果管道。
6.根据权利要求1所述的基于KV存储的mergejoin异步块运算方法,其特征在于,merge运算模块把计算结果按照大表标志位相同的规则,相同的标志位数据攒成一个数据块,以数据块的格式发送到结果管道中,直到发现任何一边的管道关闭并且管道中没有数据后,merge运算模块执行结束,关闭merge结果管道;
主协程从merge结果管道中接收结果数据块,按照数据块上标志位标志的先后顺序,进行结果整理,发送到客户端;当主协程从两个merge结果管道中读取完全数据后,整个mergejoin执行完毕。
7.基于KV存储的mergejoin异步块运算装置,其特征在于,包括:至少一个存储器和至少一个处理器;
所述至少一个存储器,用于存储机器可读程序;
所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6任一所述的方法。
8.计算机可读介质,其特征在于,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行权利要求1至6任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893114.9A CN112035257B (zh) | 2020-08-31 | 2020-08-31 | 基于KV存储的mergejoin异步块运算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010893114.9A CN112035257B (zh) | 2020-08-31 | 2020-08-31 | 基于KV存储的mergejoin异步块运算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112035257A CN112035257A (zh) | 2020-12-04 |
CN112035257B true CN112035257B (zh) | 2022-05-31 |
Family
ID=73586352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010893114.9A Active CN112035257B (zh) | 2020-08-31 | 2020-08-31 | 基于KV存储的mergejoin异步块运算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112035257B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488043A (zh) * | 2014-09-15 | 2016-04-13 | 南京理工大学 | 基于Key-Value数据块的数据查询方法及系统 |
CN108536705A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 数据库系统中对象的编码及运算方法与数据库服务器 |
CN108846051A (zh) * | 2018-05-30 | 2018-11-20 | 努比亚技术有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN109977102A (zh) * | 2019-03-27 | 2019-07-05 | 网易(杭州)网络有限公司 | 数据处理方法、装置、介质及电子设备 |
CN110362572A (zh) * | 2019-06-25 | 2019-10-22 | 浙江邦盛科技有限公司 | 一种基于列式存储的时序数据库系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996463B2 (en) * | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
-
2020
- 2020-08-31 CN CN202010893114.9A patent/CN112035257B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488043A (zh) * | 2014-09-15 | 2016-04-13 | 南京理工大学 | 基于Key-Value数据块的数据查询方法及系统 |
CN108536705A (zh) * | 2017-03-02 | 2018-09-14 | 华为技术有限公司 | 数据库系统中对象的编码及运算方法与数据库服务器 |
CN108846051A (zh) * | 2018-05-30 | 2018-11-20 | 努比亚技术有限公司 | 数据处理方法、装置及计算机可读存储介质 |
CN109977102A (zh) * | 2019-03-27 | 2019-07-05 | 网易(杭州)网络有限公司 | 数据处理方法、装置、介质及电子设备 |
CN110362572A (zh) * | 2019-06-25 | 2019-10-22 | 浙江邦盛科技有限公司 | 一种基于列式存储的时序数据库系统 |
Non-Patent Citations (2)
Title |
---|
Accelerating the merge phase of sort-merge join;Philippos Papaphilippou et al.;《2019 29th International Conference on Field Programmable Logic and Applications》;IEEE Explore;20190912;全文 * |
分布式数据库下基于剪枝的并行合并连接策略;高锦涛 等;《软件学报》;20191130;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112035257A (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110334152B (zh) | 一种数据同步方法、装置及服务器 | |
CN102510323B (zh) | 一种串口数据的帧识别方法 | |
US10120901B2 (en) | System and program for joining source table rows with target table rows | |
US8849871B2 (en) | Efficient pushdown of joins in a heterogeneous database system involving a large-scale low-power cluster | |
CN113297250A (zh) | 一种分布式数据库多表关联查询的方法及系统 | |
CN104737165A (zh) | 用于内存数据库查询处理的最优数据表示和辅助结构 | |
CN111177148A (zh) | 一种水电数据库自动建表分表的方法 | |
CN111722918A (zh) | 业务标识码生成方法、装置、存储介质及电子设备 | |
CN110019231B (zh) | 一种并行数据库动态关联的方法及节点 | |
CN109299101B (zh) | 数据检索方法、装置、服务器和存储介质 | |
CN105373746B (zh) | 一种分布式数据处理方法和装置 | |
CN105224690A (zh) | 生成并选择对应含参语句的执行计划的方法及系统 | |
CN112035257B (zh) | 基于KV存储的mergejoin异步块运算方法 | |
CN112182031B (zh) | 数据查询方法及装置、存储介质、电子装置 | |
JPH07160557A (ja) | データベースアクセス処理方法 | |
CN107491544B (zh) | 一种增强非关系型数据库分析能力的数据处理平台 | |
CN105589969A (zh) | 一种数据处理方法及装置 | |
CN116450675A (zh) | 基于元数据及相似度实现任务优化合并方法、系统及装置 | |
CN111404776A (zh) | 一种开放式硬件实现深度数据过滤分流的系统及方法 | |
CN109949129A (zh) | 一种高并发的订单处理系统及方法 | |
CN106055691A (zh) | 一种分布式数据存储处理方法及存储处理系统 | |
CN112328641B (zh) | 多维度数据聚合方法、装置及计算机设备 | |
CN113949640B (zh) | 业务数据处理方法及装置 | |
CN110825453B (zh) | 基于大数据平台的数据处理方法及装置 | |
CN114461675A (zh) | 基于kv存储的部分索引实现方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |