WO2020042813A1 - 一种分布式数据连接处理方法、装置、设备及存储介质 - Google Patents

一种分布式数据连接处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2020042813A1
WO2020042813A1 PCT/CN2019/096478 CN2019096478W WO2020042813A1 WO 2020042813 A1 WO2020042813 A1 WO 2020042813A1 CN 2019096478 W CN2019096478 W CN 2019096478W WO 2020042813 A1 WO2020042813 A1 WO 2020042813A1
Authority
WO
WIPO (PCT)
Prior art keywords
bloom filter
data
filter
bloom
data set
Prior art date
Application number
PCT/CN2019/096478
Other languages
English (en)
French (fr)
Inventor
陈萌萌
Original Assignee
阿里巴巴集团控股有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2020042813A1 publication Critical patent/WO2020042813A1/zh
Priority to US17/085,521 priority Critical patent/US11188535B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24537Query rewriting; Transformation of operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation
    • G06F16/24534Query rewriting; Transformation
    • G06F16/24542Plan optimisation
    • G06F16/24544Join order optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24558Binary matching operations
    • G06F16/2456Join operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Definitions

  • the embodiments of the present specification relate to the field of data processing, and in particular, to a distributed data connection processing method, device, device, and storage medium.
  • An important distributed connection optimization in traditional databases is to use bloom filters, create bloom filters based on the data on one side of the connection, and use the filters to filter the data on the other side, thereby avoiding unnecessary data transmission.
  • Bloom filter is a common data structure that can be used to filter data. Its essence is a bitmap and a hash function.
  • the process of creating a Bloom filter is as follows: For each element (ie data) in a data set, use the hash function to operate and hash The corresponding bit (index) of the value in the bit vector is set to 1 (ignored if the bit is already 1). In this way, after processing each element in the complete data set, the bit vector (that is, the “Bloom filter”) is created.
  • the completed Bloom filter can be used to verify whether a given element exists in the data set used to create the Bloom filter. When an element is given, it can be determined whether the bit corresponding to the hash value of the element in the Bloom filter is 1, and whether the element belongs to the data set.
  • the embodiments of the present specification provide a distributed data connection method, device, device, and storage medium, which can achieve better bloom filtering performance.
  • an embodiment of the present specification provides a distributed data connection processing method, including:
  • an embodiment of the present specification provides a distributed data connection processing apparatus, including:
  • a first bloom filter module configured to generate a first bloom filter according to a data set at the local end, and send the first bloom filter to a peer end;
  • a second bloom filter module configured to receive a second bloom filter sent by the peer end, where the second bloom filter is generated by the peer end according to the data set of the peer end;
  • Bloom filter execution module configured to filter data in the data set at the local end by using the first Bloom filter and the second Bloom filter
  • a data connection operation module is used to perform a data connection operation on unsuccessful filtering data.
  • an embodiment of the present specification further provides a computer device, including:
  • a processor configured to implement the steps of the foregoing method when the computer program is executed.
  • an embodiment of the present specification further provides a computer-readable storage medium on which a computer program is stored.
  • the computer program is executed by a processor, the steps of the foregoing method are implemented.
  • Bloom filtering is bidirectional, that is, filters are created and filtered at each end, instead of creating filters based on the data set at one end and filtering at the other end. Therefore, the technical solutions provided in the embodiments of the present specification have stronger filtering properties and better filtering effects, that is, Bloom filtering performance is better.
  • FIG. 1 is a schematic diagram of a system architecture provided by an embodiment of the present specification
  • FIG. 3 is a schematic diagram of a bilateral bloom filter provided by an embodiment of the present specification.
  • FIG. 5 is a schematic diagram of a device according to a second aspect of the embodiment of the present specification.
  • the first bloom filter creation / use module on the physical node 200 202 generates a first bloom filter according to the data form 201 and sends it to the physical node 300, receives a second bloom filter sent by the physical node 300, and uses the first bloom filter and the second bloom filter to perform a data form 201 Perform filtering, and send the unsuccessful filtered data to the first connection execution module 203.
  • the first connection execution module 203 writes the data to the data form 101 of the physical node 100; the second bloom filter on the physical node 300 creates / Use module 302 to generate a second bloom filter using data form 301 and send it to physical node 200, receive the first bloom filter sent by physical node 200, and use the first bloom filter and the second bloom filter for filtering , Sending the unsuccessful filtered data to the second connection execution module 303, and the second connection execution module 303 writes the data into the data form 101 of the physical node 100.
  • an embodiment of the present specification provides a distributed data connection processing method. Please refer to FIG. 2, including:
  • Step 2001 Generate a first bloom filter according to the data set of the local end, and send the first bloom filter to the opposite end.
  • one of the physical nodes is referred to as a local end, and the other physical node is referred to as a peer end.
  • the data set may be a data sheet or a data partition.
  • Step 2003 Receive a second bloom filter sent by the opposite end, where the second bloom filter is generated by the opposite end according to the form data of the opposite end.
  • Step 2005 Use the first Bloom filter and the second Bloom filter to filter data in the data set at the local end.
  • filtering specifically refers to calculating the hash value in column C1 of the data, and looking for the corresponding bit of the hash value in the above Bloom filter Value, if the value is 1, the value in column C1 of the row of data in the data set on both sides is the same, that is, the filtering is unsuccessful.
  • the data in the data set can be filtered row by row, or the data in the data set can be filtered in batches.
  • Step 2007 Perform a data connection operation on the unsuccessful filtered data.
  • the value (or hash value) of the row of data or the column C1 of the row of data is written into the data sheet 101.
  • the method provided in the embodiment of the present specification receives a bloom filter sent by a peer end, and uses the bloom filter at the local end and the bloom filter at the opposite end to perform filtering. That is, in the technical solution provided by the embodiment of the present specification, Bloom filtering is bidirectional, that is, filters are created and filtered at each end, instead of creating filters based on the data set at one end and filtering at the other end. Therefore, the method provided in the embodiment of the present specification has stronger filtering performance and better filtering effect, that is, Bloom filtering performance is better.
  • the implementation of the above step 2005 may be filtering the data in the local data set by using the first Bloom filter and the second Bloom filter, respectively. Since the essence of a Bloom filter is a bit vector, filtering with a Bloom filter is to determine the value of the corresponding bit on the bit vector of the hash value of the corresponding column of the data. The second filters are combined to obtain the corresponding bilateral bloom filter. The implementation of the above step 2005 may be to use the combined bilateral bloom filter to filter the data in the data set.
  • the merging filter specifically refers to performing an OR operation on corresponding values in the two filters.
  • a Bloom filter can be dynamically created and sent so that the peer end can timely Bloom filter.
  • the first bloom filter is periodically generated and sent to the peer end.
  • the period for generating and sending the first bloom filter may be a time period or a data line number period.
  • the Bloom filter creation / use module reads data from the lower-level data set line by line. Take the time period as an example. In each time period, the Bloom filter creation / use module uses the data read in this time period.
  • Data creates the first Bloom filter; or, at each time period, the Bloom filter creation / use module uses the data read during this time period to create the first Bloom filter and filters the newly created Bloom filter The filter is merged with the previously created Bloom filter; or, at each time period, the Bloom filter creation / use module uses the data read during the time period and the data previously read to create the first Bloom filter Device. Assume that according to the Bloom filter creation / use module, the data is read from the lower-level data set line by line.
  • the first line is created using the N lines of data read in this cycle Bloom filter; or, every N rows of data are read, the first Bloom filter is created using the N rows of data read during this period, and the newly created Bloom filter is compared with the previously created Bloom filter Merge; or alternatively, every N rows of data are read, a first Bloom filter is created using the N rows of data read during this cycle and the data previously read.
  • the second bloom filter is periodically generated and sent at the opposite end according to the foregoing implementation manner. Accordingly, the specific implementation manner of the above step 2003 may be: Periodically receive the second bloom filter sent by the peer.
  • the period at which the local end and the peer end create and send bloom filters can be the same or different, and the same type of period can be used or different types of periods can be used.
  • each second Bloom filter may be received, that is, the second Bloom filter currently received and the most recent The generated first bloom filter is merged; or each second bloom filter received may be merged with the currently received second bloom filter and the bilateral bloom filter used for filtering; It may also be that each time a first bloom filter is generated, the currently generated bloom filter is merged with the newly received second bloom filter.
  • the implementation of the above step 2005 may be: using the latest bilateral Bloom filter to filter the data in the local data set.
  • each time a first Bloom filter is generated or each second Bloom filter is received that is, the data in the data set is filtered by using the newly generated or received Bloom filter.
  • Bloom filters are not created using all the data in the data set, there may be filtering errors.
  • the bilateral bloom filter Take the bilateral bloom filter as an example. Assume that the buffered data is filtered using the Mth bilateral bloom filter, and continue to be filtered using the M + 1 bilateral bloom filter until the filtering is unsuccessful or the last bloom Filter, or just the last Bloom filter to filter the data in the cache.
  • all the data in the local data set is read, and the data set sends the end-of-scan (EOF) information to the Bloom filter creation / use module.
  • the local end is receiving this information, and Did not receive the scan end instruction sent by the peer end, send the first scan end instruction to the peer end to inform the peer end of the end of the data scan; after receiving the second scan end instruction sent by the peer end, the local end uses the last The first bloom filter generated once filters the data in the local data set.
  • the filtering is successful (the row does not exist in the Bloom filter), the row of data is stored in Cache locally, otherwise (the row exists), send the data of this row to the upper-layer connection operation module for processing according to the previously described data redistribution method; when the local scan is over, send EOF to the peer (end of scan) Instruction, when the EOF instruction sent by the peer end is received, a new Bloom filter is regenerated and processed according to the process described above, the difference is that if the filtering is successful, the line is discarded (no need to wait) ).
  • the flag bit R_EOF is used to indicate whether the EOF instruction and / or EOF information sent by the peer end is received.
  • the value of the flag R_EOF is a Boolean logic value, and true indicates that it is received.
  • Other values can also be used in the application, or the specific meaning of each value can be defined.
  • the so-called data is inserted into the Bloom filter A, that is, the Bloom filter is updated with the data in the row.
  • the locally generated bloom filter can be updated in real time according to the read data line. Accordingly, the above-mentioned periodically created bloom filter is actually a real-time update bloom filter.
  • the local bloom filter A is sent to the peer end; if it is not reached, the bloom filter B is used for filtering.
  • the flag is set to true and the judgment of whether a new bloom filter is received is continued.
  • the branches connecting the left and right sides can be executed at the same time (to avoid performing the optimization on the left first), which increases the flexibility of scheduling and the concurrency of the entire system.
  • the simultaneous execution of the left and right sides can ensure the full use of the local IO of multiple nodes, so that the entire throughput reaches the highest
  • Simultaneously executing all branches can also ensure that the data rows are returned to the user as soon as possible.
  • the traditional execution method because the left side is scanned first and then the right side is filtered, the return time of the first row must be after the left table is scanned.
  • the bilateral Bloom filter in the solution can return the left and right possible join rows to the upper join as soon as possible, and return it to the user as soon as possible. In the interactive query scenario, returning some data as soon as possible has great application value for the user.
  • the traditional scheme is easily affected by the misjudgment of the optimizer.
  • the optimizer misjudges the large table of the left table as a small table and generates a bloom filter, it may occur that the large table data is used to filter the small table data and execute The efficiency is low.
  • the symmetrical filter performs both the left and right sides, the filtering operation can be performed at the same time. After the small table is scanned first, it can be degraded to the traditional unilateral filtering method, and the robustness of the entire plan is guaranteed.
  • the bilateral Bloom filtering scheme can ensure the bidirectional filtering.
  • the two sides of the join can use each other's Bloom filter to filter their own data, which is stronger than the traditional unilateral scene and the effect is more obvious.
  • an embodiment of the present specification provides a distributed data connection device. Please refer to FIG. 5, including:
  • a first bloom filter module 5001 configured to generate a first bloom filter according to a data set at a local end, and send the first bloom filter to a peer end;
  • a second bloom filter module 5002 configured to receive a second bloom filter sent by the opposite end, where the second bloom filter is generated by the opposite end according to the data set of the opposite end;
  • Bloom filter merge module 5003 configured to use the first Bloom filter and the second Bloom filter to filter data in the data set at the local end;
  • Bloom filter execution module 5004 configured to use the merged Bloom filter to perform Bloom filter on the form data at the local end;
  • a data connection operation module 5005 is configured to perform a data connection operation on the data that is not successfully filtered.
  • it also includes a Bloom filter merging module for merging the first Bloom filter and the second Bloom filter, and the combined Bloom filter is a bilateral Bloom filter;
  • the Bloom filter execution module is configured to: use the bilateral Bloom filter to filter data in the data set at the local end.
  • the first bloom filter module is configured to: during reading the data set at the local end, periodically generate a first bloom filter and send it to the peer end; the second bloom filter The Bloom filter module is configured to: periodically receive the second Bloom filter sent by the opposite end; the Bloom filter merge module is configured to: every time a second Bloom filter is received, merge the currently received The second Bloom filter and the first Bloom filter generated last time or merge the currently received second Bloom filter with the Bloom filter currently used for Bloom filtering; the Bloom filter The execution module is configured to: use the latest bilateral Bloom filter to filter data in the data set at the local end.
  • it further includes a cache module, configured to: cache the successfully filtered data; the bloom filter execution module is further configured to: use the subsequently merged bilateral bloom filter to filter the cached data again.
  • it further includes a scan end instruction sending module, configured to read all the data in the data set of the local end and not receive the second scan end instruction sent by the peer end, and send the first end to the peer end.
  • a scan end instruction; the Bloom filter execution module is further configured to: after receiving a second scan end instruction sent by the peer end, use the most recently generated first Bloom filter for the data set of the local end Data is filtered.
  • an embodiment of the present specification further provides a computer device, including:
  • a processor configured to implement the steps of the method according to any one of the foregoing when executing the computer program.
  • an embodiment of the present specification further provides a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, implements the steps of the method according to any one of the foregoing.
  • These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to work in a particular manner such that the instructions stored in the computer-readable memory produce a manufactured article including the instruction device, the instructions
  • the device implements the functions specified in one or more flowcharts and / or one or more blocks of the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing device, so that a series of steps can be performed on the computer or other programmable device to produce a computer-implemented process, which can be executed on the computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more flowcharts and / or one or more blocks of the block diagrams.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Operations Research (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)

Abstract

本说明书实施例提供了一种分布式数据连接处理方法、装置、设备及存储介质。其方法包括:根据本端的表单数据生成第一布隆过滤器,并将第一布隆过滤器发送给对端;接收对端发送的第二布隆过滤器;合并所述第一布隆过滤器和所述第二布隆过滤器;利用合并后的布隆过滤器对本端的表单数据进行布隆过滤。

Description

一种分布式数据连接处理方法、装置、设备及存储介质 技术领域
本说明书实施例涉及数据处理领域,尤其涉及一种分布式数据连接处理方法、装置、设备及存储介质。
背景技术
数据连接(join)是关系型数据库的一种重要的数据操作,其执行效率的高低往往对整个数据库有着至关重要的影响。在数据库的查询优化技术中,对数据连接操作的优化手段也十分丰富,数据连接操作的顺序以及具体算法都是重要的考虑因素。在分布式数据库中,不同的表单或分区的数据往往分布在不同的物理节点中,跨节点的连接操作往往无法避免,此时,除了执行效率外,还需要考虑数据传输和多节点并发等多方面因素。
传统数据库中一个重要的分布式连接优化是使用布隆过滤器,根据连接一侧的数据创建布隆过滤器,并使用该过滤器过滤另外一侧数据,从而避免不必要的数据传输。
布隆过滤器(bloom filter)是一个常见的数据结构,可以用来进行数据的过滤。其本质是一个位向量(bitmap)和一个哈希函数,创建布隆过滤器的过程如下:针对一个数据集合中的每一个元素(即数据),分别使用该哈希函数进行操作,将哈希值在位向量中所对应的位(index)设置为1(如果该位已经为1,则忽略)。这样当处理完整个数据集合中的每一个元素后,该位向量(即“布隆过滤器”)即创建完毕。创建完成的布隆过滤器可以用以验证给定一个元素是否存在于用于创建该布隆过滤器的数据集合中。当给定一个元素时,可以通过判断布隆过滤器中该元素哈希值所对应的位是否为1,判断该元素是否属于该数据集合。
需要提供一种布隆过滤性能更好的分布式数据连接方式。
发明内容
本说明书实施例提供及一种分布式数据连接方法、装置、设备及存储介质,可以实现更好的布隆过滤性能。
第一方面,本说明书实施例提供一种分布式数据连接处理方法,包括:
根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端;
接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的数据集合生成的;
利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤;
对过滤不成功的数据进行数据连接操作。
第二方面,本说明书实施例提供一种分布式数据连接处理装置,包括:
第一布隆过滤器模块,用于根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端;
第二布隆过滤器模块,用于接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的数据集合生成的;
布隆过滤执行模块,用于利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤;
数据连接操作模块,用于对过滤不成功的数据进行数据连接操作。
第三方面,本说明书实施例还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述方法的步骤。
第四方面,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本说明书实施例有益效果如下:
接收对端发送的布隆过滤器,利用本端的布隆过滤器和对端的布隆过滤器进行过滤。即,本说明书实施例提供的技术方案,布隆过滤是双向的,即每一端都既创建过滤器又进行过滤,而不是仅依照一端的数据集合创建过滤器,另一端进行过滤。因此,本说明书实施例提供的技术方案其过滤性更强,过滤效果也更好,即布隆过滤性能更好。
附图说明
图1为本说明书实施例提供的系统架构示意图;
图2为本说明书实施例提供的第一方面的方法流程图;
图3为本说明书实施例提供的双边布隆过滤器示意图;
图4为本说明书实时第一方面的另一个方法流程图;
图5为本说明书实施例第二方面的装置示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
本说明书实施例提供的技术方案应用于分布式数据库系统,需要将分布式数据库中不同物理节点的两个数据集合(包括表单或分区)连接成一个数据集合,即针对不同物理节点上的两个数据集合进行连接操作。为了完成最终的连接操作,需要通过网络将不同物理节点上的数据传输到同一个物理节点上,这一过程称为“数据再分布”。以图1所示的系统为例,假设需要将物理节点200上的数据表单201和物理节点300上的数据表单301进行连接操作,则物理节点200上的第一布隆过滤器创建/使用模块202根据数据表单201生成第一布隆过滤器并发送给物理节点300,接收物理节点300发送的第二布隆过滤器,利用第一布隆过滤器和第二布隆过滤器对数据表单201进行过滤,将过滤不成功的数据发送给第一连接执行模块203,第一连接执行模块203将该数据写入物理节点100的数据表单101;物理节点300上的第二布隆过滤器创建/使用模块302利用数据表单301生成第二布隆过滤器并发送给物理节点200,接收物理节点200发送的第一布隆过滤器,利用第一布隆过滤器和第二布隆过滤器进行过滤,将过滤不成功的数据发送给第二连接执行模块303,第二连接执行模块303将该数据写入物理节点100的数据表单101。
第一方面,本说明书实施例提供一种分布式数据连接处理方法,请参考图2,包括:
步骤2001、根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端。
本说明书实施例中,若需要对分布在两个物理节点上的数据集合进行连接操作,则将其中一个物理节点称为本端,另一个物理节点称为对端。
本说明书实施例中,数据集合可以是数据表单,也可以是数据分区。
步骤2003、接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的表单数据生成的。
步骤2005、利用第一布隆过滤器和第二布隆过滤器对本端的所述数据集合中的数据进行过滤。
假设过滤条件是两个数据集合中的第C1列的取值相同,那么,过滤具体是指计算数据的第C1列的哈希值,查找上述布隆过滤器中该哈希值对应位的取值,若取值为1,两侧数据集合中该行数据的第C1列的取值相同,即过滤不成功。
本说明书实施例中,既可以对数据集合中的数据逐行进行过滤,也可以对数据集合中的数据进行批量过滤。
步骤2007、对过滤不成功的数据进行数据连接操作。
即将该行数据或该行数据第C1列的取值(或哈希值)写入到上述数据表单101中。
本说明书实施例提供的方法,接收对端发送的布隆过滤器,利用本端的布隆过滤器和对端的布隆过滤器进行过滤。即,本说明书实施例提供的技术方案,布隆过滤是双向的,即每一端都既创建过滤器又进行过滤,而不是仅依照一端的数据集合创建过滤器,另一端进行过滤。因此,本说明书实施例提供的方法其过滤性更强,过滤效果也更好,即布隆过滤性能更好。
上述步骤2005的实现方式可以是分别利用第一布隆过滤器和第二布隆过滤器对本端的数据集合中的数据进行过滤。由于布隆过滤器的本质是位向量,利用布隆过滤器进行过滤就是判断数据对应列的哈希值在该位向量上对应位的取值,为了提高过滤效率,可以将第一过滤器和第二过滤器合并,得到双边布隆过滤器相应的,上述步骤2005的实现方式可以是利用合并后的双边布隆过滤器对数据集合中的数据过滤。
其中,合并过滤器具体是指,将两个过滤器中对应的取值进行或运算。
为了提高过滤效率,提高系统并发行,提高物理节点的吞吐率,加快连接处理速度,本说明书实施例提供的方法中,可以动态创建并发送布隆过滤器,以便对端可以及时根据接收到的布隆过滤器进行过滤。相应的,上述步骤2001中,具体是在读取本段的数据集合过程中,周期性地生成第一布隆过滤器并发送给对端。其中,生成并发送第一布隆过滤器的周期可以是时间周期,也可以是数据行数周期。假设按照布隆过滤器创建/ 使用模块逐行从下层的数据集合中读取数据,以时间周期为例,在每个时间周期,布隆过滤器创建/使用模块利用本时间周期内读取的数据创建第一布隆过滤器;或者,在每个时间周期,布隆过滤器创建/使用模块利用本时间周期内读取的数据创建第一布隆过滤器,并将新创建的布隆过滤器与之前创建的布隆过滤器进行合并;又或者,在每个时间周期,布隆过滤器创建/使用模块利用本时间周期内读取的数据以及之前读取的数据创建第一布隆过滤器。假设按照布隆过滤器创建/使用模块逐行从下层的数据集合中读取数据,以数据行数周期为例,每读取N行数据,利用本周期内读取的N行数据创建第一布隆过滤器;或者,每读取N行数据,利用本周期内读取的N行数据创建第一布隆过滤器,并将新创建的布隆过滤器与之前创建的布隆过滤器进行合并;又或者,每读取N行数据,利用本周期内读取的N行数据以及之前读取的数据创建第一布隆过滤器。
由于本说明书实施例提供的技术方案是双侧对称操作,那么,在对端也是按照上述实现方式周期性生成并发送第二布隆过滤器,相应的,上述步骤2003的具体实现方式可以是:周期性地接收对端发送的第二布隆过滤器。
其中,本端和对端创建并发送布隆过滤器的周期可以相同也可以不同,可以采用相同类型的周期也可以采用不同类型的周期。
进一步地,若对第二布隆过滤器和第一布隆过滤器进行合并,那么,可以是每接收到一个第二布隆过滤器,即将当前接收到的第二布隆过滤器与最近一次生成的第一布隆过滤器合并;也可以是每接收到一个第二布隆过滤器,即将当前接收到的第二布隆过滤器与当前进行过滤所使用的双边布隆过滤器进行合并;还可以是每生成一个第一布隆过滤器,即将当前生成的布隆过滤器与最新接收到的第二布隆过滤器进行合并。相应的,上述步骤2005的实现方式可以是:利用最新的双边布隆过滤器对本端的数据集合中的数据进行过滤。
进一步地,若不需要对第一布隆过滤器和第二布隆过滤器进行合并。上述步骤2005中,可以是每生成一个第一布隆过滤器或每接收到一个第二布隆过滤器,即利用最新生成或接收到的布隆过滤器对数据集合中的数据进行过滤。
对于周期性创建布隆过滤器并进行过滤的实现方式,由于布隆过滤器并不是利用数据集合中的全部数据创建的,因此可能存在过滤误差,为了避免过滤误差,可以将过滤成功的数据暂时保存在缓存当中,利用后续的布隆过滤器进行过滤。以双边布隆过滤器为例,假设在利用第M个双边布隆过滤器进行过滤而被缓存的数据,继续利用第M+1个双边过滤器进行过滤,直至过滤不成功或者最后一个布隆过滤器,或者仅利用最后一 个布隆过滤器对缓存中的数据进行过滤。
本说明书实施例提供的方法,多本端的数据集合中的数据全部读取完,数据集合会向布隆过滤器创建/使用模块发送扫描结束(EOF)信息,本端在收到该信息,且未接收到对端发送的扫描结束指令,向对端发送第一扫描结束指令,以向对端告知本端的数据扫描结束;本端在接收到对端发送的第二扫描结束指令后,利用最后一次生成的第一布隆过滤器对本端的数据集合中的数据进行过滤。
下面将结合具体应用场景,对本说明书实施例提供的“双边布隆过滤”的实现方案进行详细说明。如图3所示,传统布隆过滤器中的BLC和BLU两个操作被替换为一个操作Bloom Filter Create/USE(简称BLCU,布隆过滤器创建/使用),该模块的逻辑为:针对输入的数据集合中的数据周期性地创建第一布隆过滤器A,并通过网络RPC发送给与之配对的BLCU操作符;周期性的将接收到的第二布隆过滤器在本地进行合并,生成新的布隆过滤器B,使用周期性生成的布隆过滤器B对输入的每一行数据进行过滤,如果过滤成功(该行在布隆过滤器中不存在),则将该行数据在本地进行缓存,否则(该行存在),则将该行数据按照之前所述的数据再分布方式发送给上层的连接操作模块进行处理;当本地扫描结束后,向对端发送EOF(扫描结束)指令,当收到对端发送的EOF指令时,重新生成新的布隆过滤器,按照上述描述的过程进行处理,所不同的是,如果过滤成功,则直接丢弃改行(无需缓存)。
假设需要对图1中物理节点200中的数据表单201和物理节点300中的数据表单301进行连接操作,其处理过程如图4所示。
其中,标志位R_EOF用于指示是否接收到对端发送的EOF指令和/或是否接收到EOF信息,本实施例中,标志位R_EOF的取值为布尔逻辑值,且true表示接收到,在实际应用中也可以采用其他的取值方式,或者定义每个取值的具体含义。
其中,所谓将数据插入到布隆过滤器A,即利用该行数据更新布隆过滤器。
应当指出的是,本说明书实施例中,可以根据读取的数据行实时更新本地生成的布隆过滤器,相应的,上述周期性地创建布隆过滤器实际上是实时更新布隆过滤器。
其中,若判断达到发送阈值,则发送本地布隆过滤器A到对端;若未达到,则使用布隆过滤器B进行过滤。
其中,若未接收到下层算子(即数据表单)发送的EOF信息,进而判断接收到对端的EOF信号,则设置标识位为true且继续判断是否接收到新的布隆过滤器。
本说明书实施例提供的方法具有如下有益效果:
1.引入BLCU操作后,连接左右两边的分支可以同时执行(避免先执行左边再执行优化),增加了调度的灵活性和整个系统的并发性,例如当L/R表分别位于不同节点上时,同时执行左右两边可以保证充分利用多节点的本地IO,使整个吞吐量达到最高
2.同时执行所有分支还可以保证尽快返回给用户数据行,在传统的执行方式中,由于要先扫描左侧再过滤右侧,导致第一行返回的时间一定在扫描左表之后,而本方案中的双边布隆过滤,可以尽早的将左右两边可能join的行返回给上层join,一遍尽早的返回给用户,在交互性查询的场景中,尽快返回一些数据对用户有极大的应用价值
3.传统的方案容易受优化器的误判的影响,当优化器将左表的大表误判为小表而生成布隆过滤器时,可能出现用大表数据去过滤小表数据,执行效率低下,对称型过滤器由于同时执行左右两边,可以确保过滤操作同时进行,当小表首先完成扫描后,又可以退化为传统的单边过滤的方式,整个计划的健壮性得以保证
4.双边布隆过滤方案可以保证过滤的双向性,join两边可以互相使用对方的布隆过滤器来过滤自己的数据,比传统的单边场景的过滤性更强,效果更为明显。
第二方面,基于同一发明构思,本说明书实施例提供一种分布式数据连接装置,请参考图5,包括:
第一布隆过滤器模块5001,用于根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端;
第二布隆过滤器模块5002,用于接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的数据集合生成的;
布隆过滤器合并模块5003,用于利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤;
布隆过滤执行模块5004,用于利用合并后的布隆过滤器对本端的所述表单数据进行布隆过滤;
数据连接操作模块5005,用于对过滤不成功的数据进行数据连接操作。
可选的,还包括布隆过滤器合并模块,用于将所述第一布隆过滤器和所述第二布隆过滤器合并,合并之后的布隆过滤器为双边布隆过滤器;所述布隆过滤执行模块用于:利用所述双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
可选的,所述第一布隆过滤器模块用于:读取本端的所述数据集合过程中,周期性地生成第一布隆过滤器并发送给所述对端;所述第二布隆过滤器模块用于:周期性地接收所述对端发送的第二布隆过滤器;所述布隆过滤器合并模块用于:每接收到一个第二布隆过滤器,合并当前接收到的第二布隆过滤器与最近一次生成的第一布隆过滤器或合并当前接收到的第二布隆过滤器与当前进行布隆过滤所使用的布隆过滤器;所述布隆过滤器执行模块用于:利用最新的双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
可选的,还包括缓存模块,用于:缓存过滤成功的数据;所述布隆过滤执行模块还用于:利用后续合并的双边布隆过滤器对缓存的数据再次进行过滤。
可选的,还包括扫描结束指令发送模块,用于在读取完本端的数据集合中的全部数据,且未接收到所述对端发送的第二扫描结束指令,向所述对端发送第一扫描结束指令;所述布隆过滤执行模块还用于:在接收到所述对端发送的第二扫描结束指令后,利用最近一次生成的第一布隆过滤器对本端的所述数据集合的数据进行过滤。
第三方面,本说明书实施例还提供一种计算机设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述的方法的步骤。
第四方面,本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本说明书的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本说明书范围的所有变更和修改。
显然,本领域的技术人员可以对本说明书进行各种改动和变型而不脱离本说明书的精神和范围。这样,倘若本说明书的这些修改和变型属于本说明书权利要求及其等同技术的范围之内,则本说明书也意图包含这些改动和变型在内。

Claims (13)

  1. 一种分布式数据连接处理方法,其特征在于,包括:
    根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端;
    接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的数据集合生成的;
    利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤;
    对过滤不成功的数据进行数据连接操作。
  2. 根据权利要求1所述的方法,其特征在于,所述利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤之前,该方法还包括:将所述第一布隆过滤器和所述第二布隆过滤器合并,合并之后的布隆过滤器为双边布隆过滤器;
    所述利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤,包括:利用所述双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
  3. 根据权利要求2所述的方法,其特征在于,所述根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端,包括:读取本端的所述数据集合过程中,周期性地生成第一布隆过滤器并发送给所述对端;
    所述接收所述对端发送的第二布隆过滤器,包括:周期性地接收所述对端发送的第二布隆过滤器;
    所述合并所述第一布隆过滤器和所述第二布隆过滤器,包括:每接收到一个第二布隆过滤器,合并当前接收到的第二布隆过滤器与最近一次生成的第一布隆过滤器或合并当前接收到的第二布隆过滤器与当前进行布隆过滤所使用的双边布隆过滤器;
    所述利用合并后的布隆过滤器对本端的所述数据集合的数据进行过滤,包括:利用最新的双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
  4. 根据权利要求3所述的方法,其特征在于,该方法还包括:
    缓存过滤成功的数据;
    利用后续合并的双边布隆过滤器对缓存的数据再次进行过滤。
  5. 根据权利要求4所述的方法,其特征在于,所述利用后续合并的双边布隆过滤器对缓存的表单数据再次进行布隆过滤,包括:
    利用最后一次合并的双边布隆过滤器对本端的所述数据集合中的数据进行布隆过 滤。
  6. 根据权利要求3~5任一项所述的方法,其特征在于,该方法还包括:
    在读取完本端的数据集合中的全部数据,且未接收到所述对端发送的第二扫描结束指令,向所述对端发送第一扫描结束指令;
    在接收到所述对端发送的第二扫描结束指令后,利用最近一次生成的第一布隆过滤器对本端的所述数据集合的数据进行过滤。
  7. 一种分布式数据连接处理装置,其特征在于,包括:
    第一布隆过滤器模块,用于根据本端的数据集合生成第一布隆过滤器,并将所述第一布隆过滤器发送给对端;
    第二布隆过滤器模块,用于接收所述对端发送的第二布隆过滤器,所述第二布隆过滤器是由所述对端根据所述对端的数据集合生成的;
    布隆过滤执行模块,用于利用所述第一布隆过滤器和所述第二布隆过滤器对本端的所述数据集合中的数据进行过滤;
    数据连接操作模块,用于对过滤不成功的数据进行数据连接操作。
  8. 根据权利要求7所述的装置,其特征在于,还包括布隆过滤器合并模块,用于将所述第一布隆过滤器和所述第二布隆过滤器合并,合并之后的布隆过滤器为双边布隆过滤器;
    所述布隆过滤执行模块用于:利用所述双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
  9. 根据权利要求8所述的装置,其特征在于,所述第一布隆过滤器模块用于:读取本端的所述数据集合过程中,周期性地生成第一布隆过滤器并发送给所述对端;
    所述第二布隆过滤器模块用于:周期性地接收所述对端发送的第二布隆过滤器;
    所述布隆过滤器合并模块用于:每接收到一个第二布隆过滤器,合并当前接收到的第二布隆过滤器与最近一次生成的第一布隆过滤器或合并当前接收到的第二布隆过滤器与当前进行布隆过滤所使用的布隆过滤器;
    所述布隆过滤器执行模块用于:利用最新的双边布隆过滤器对本端的所述数据集合中的数据进行过滤。
  10. 根据权利要求9所述的装置,其特征在于,还包括缓存模块,用于:缓存过滤成功的数据;
    所述布隆过滤执行模块还用于:利用后续合并的双边布隆过滤器对缓存的数据再次进行过滤。
  11. 根据权利要求8~10任一项所述的装置,其特征在于,还包括扫描结束指令发送模块,用于在读取完本端的数据集合中的全部数据,且未接收到所述对端发送的第二扫描结束指令,向所述对端发送第一扫描结束指令;
    所述布隆过滤执行模块还用于:在接收到所述对端发送的第二扫描结束指令后,利用最近一次生成的第一布隆过滤器对本端的所述数据集合的数据进行过滤。
  12. 一种计算机设备,其特征在于,包括:
    存储器,用于存储计算机程序;
    处理器,用于执行所述计算机程序时实现上述权利要求1~6中任一项所述的方法的步骤。
  13. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任一项所述的方法的步骤。
PCT/CN2019/096478 2018-08-31 2019-07-18 一种分布式数据连接处理方法、装置、设备及存储介质 WO2020042813A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/085,521 US11188535B2 (en) 2018-08-31 2020-10-30 Distributed join operation processing method, apparatus, device, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811015813.2 2018-08-31
CN201811015813.2A CN109271408B (zh) 2018-08-31 2018-08-31 一种分布式数据连接处理方法、装置、设备及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/085,521 Continuation US11188535B2 (en) 2018-08-31 2020-10-30 Distributed join operation processing method, apparatus, device, and storage medium

Publications (1)

Publication Number Publication Date
WO2020042813A1 true WO2020042813A1 (zh) 2020-03-05

Family

ID=65187034

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/096478 WO2020042813A1 (zh) 2018-08-31 2019-07-18 一种分布式数据连接处理方法、装置、设备及存储介质

Country Status (4)

Country Link
US (1) US11188535B2 (zh)
CN (1) CN109271408B (zh)
TW (1) TWI716016B (zh)
WO (1) WO2020042813A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760898A (zh) * 2021-01-25 2021-12-07 北京沃东天骏信息技术有限公司 表连接操作的处理方法和装置

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271408B (zh) 2018-08-31 2020-07-28 阿里巴巴集团控股有限公司 一种分布式数据连接处理方法、装置、设备及存储介质
CN110209874B (zh) * 2019-04-24 2021-08-20 北京奇艺世纪科技有限公司 信息处理方法、装置、电子设备及存储介质
US11386089B2 (en) * 2020-01-13 2022-07-12 The Toronto-Dominion Bank Scan optimization of column oriented storage
EP3852305B1 (en) * 2020-01-17 2022-11-16 Fetch.ai Limited Transaction verification system and method of operation thereof
US11550949B2 (en) * 2020-07-21 2023-01-10 Constella Intelligence, Inc. Secure exchange of password presence data
CN113360507B (zh) * 2021-08-10 2021-12-07 北京奥星贝斯科技有限公司 用于数据库表连接的过滤器传输方法、装置及系统
JP2024025020A (ja) 2022-08-10 2024-02-26 株式会社日立製作所 計算機システム及びクエリ処理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
CN106372190A (zh) * 2016-08-31 2017-02-01 华北电力大学(保定) 实时olap查询方法和装置
US20170031967A1 (en) * 2015-07-29 2017-02-02 Oracle International Corporation Tracking and maintaining expression statistics across database queries
CN106445944A (zh) * 2015-08-06 2017-02-22 阿里巴巴集团控股有限公司 一种数据查询请求的处理方法、装置及电子设备
CN108205571A (zh) * 2016-12-20 2018-06-26 航天信息股份有限公司 键值数据表的连接方法及装置
CN109271408A (zh) * 2018-08-31 2019-01-25 阿里巴巴集团控股有限公司 一种分布式数据连接处理方法、装置、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145806B2 (en) * 2008-09-19 2012-03-27 Oracle International Corporation Storage-side storage request management
US9401967B2 (en) * 2010-06-09 2016-07-26 Brocade Communications Systems, Inc. Inline wire speed deduplication system
US9226231B2 (en) * 2013-01-30 2015-12-29 Qualcomm Incorporated Systems and methods for monitoring the size of a wireless network
CN104572727B (zh) * 2013-10-22 2018-09-28 阿里巴巴集团控股有限公司 一种数据查询方法及装置
US11265385B2 (en) * 2014-06-11 2022-03-01 Apple Inc. Dynamic bloom filter operation for service discovery
CN105718455B (zh) * 2014-12-01 2019-06-14 阿里巴巴集团控股有限公司 一种数据查询方法及装置
US10248694B2 (en) * 2015-08-31 2019-04-02 International Business Machines Corporation Bloom filter utilization for join processing
CN105554122A (zh) * 2015-12-18 2016-05-04 畅捷通信息技术股份有限公司 信息更新方法、信息更新装置、终端和服务器
US9372892B1 (en) * 2015-12-28 2016-06-21 International Business Machines Corporation Bloom filter construction method for use in a table join operation portion of processing a query to a distributed database
CN106407485B (zh) * 2016-12-20 2017-12-26 福建六壬网安股份有限公司 一种基于相似度比较的url去重方法和系统
US10642994B1 (en) * 2017-05-24 2020-05-05 Amazon Technologies, Inc. Probabilistic data structures for concordance management
US10719512B2 (en) * 2017-10-23 2020-07-21 International Business Machines Corporation Partitioned bloom filter merge for massively parallel processing clustered data management
CN108156154A (zh) * 2017-12-25 2018-06-12 北京工业大学 命名数据网络中基于加密和布隆过滤器的访问控制方法
US10642840B1 (en) * 2018-03-07 2020-05-05 Amazon Technologies, Inc. Filtered hash table generation for performing hash joins

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101916261A (zh) * 2010-07-28 2010-12-15 北京播思软件技术有限公司 一种分布式并行数据库系统的数据分区方法
US20170031967A1 (en) * 2015-07-29 2017-02-02 Oracle International Corporation Tracking and maintaining expression statistics across database queries
CN106445944A (zh) * 2015-08-06 2017-02-22 阿里巴巴集团控股有限公司 一种数据查询请求的处理方法、装置及电子设备
CN106372190A (zh) * 2016-08-31 2017-02-01 华北电力大学(保定) 实时olap查询方法和装置
CN108205571A (zh) * 2016-12-20 2018-06-26 航天信息股份有限公司 键值数据表的连接方法及装置
CN109271408A (zh) * 2018-08-31 2019-01-25 阿里巴巴集团控股有限公司 一种分布式数据连接处理方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113760898A (zh) * 2021-01-25 2021-12-07 北京沃东天骏信息技术有限公司 表连接操作的处理方法和装置

Also Published As

Publication number Publication date
CN109271408A (zh) 2019-01-25
TWI716016B (zh) 2021-01-11
US20210049173A1 (en) 2021-02-18
US11188535B2 (en) 2021-11-30
TW202011223A (zh) 2020-03-16
CN109271408B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
WO2020042813A1 (zh) 一种分布式数据连接处理方法、装置、设备及存储介质
WO2021052169A1 (zh) 分布式数据的均衡处理方法、装置、计算终端和存储介质
US10769147B2 (en) Batch data query method and apparatus
CN110471923B (zh) 一种区块链交易记录的处理方法及装置
Wang et al. Research on parallelization of Apriori algorithm in association rule mining
US9400767B2 (en) Subgraph-based distributed graph processing
US11301470B2 (en) Control method for performing multi-table join operation and corresponding apparatus
CN111177486B (zh) 一种分布式图计算过程中的消息传递方法和装置
CN105956666B (zh) 一种机器学习方法及系统
TWI733390B (zh) 在區塊鏈中同時執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN110569312B (zh) 一种基于gpu的大数据快速检索系统及其使用方法
CN110704438B (zh) 一种区块链中布隆过滤器的生成方法及装置
US20180075101A1 (en) N-way hash join
WO2021036260A1 (zh) 在区块链中并发执行交易的方法和装置
CN110599166A (zh) 一种区块链内获取交易依赖关系的方法及装置
CN109491934A (zh) 一种集成计算功能的存储管理系统控制方法
US20240311391A1 (en) K-db database multi-node cluster scheduling method and system, device, and medium
CN107798025B (zh) 存储过程的运行、编译方法、装置和数据库系统
CN112000649A (zh) 一种基于map reduce的增量数据同步的方法和装置
CN111861744A (zh) 一种实现区块链交易并行化的方法及区块链节点
US20150039558A1 (en) Database management method, database system and medium
CN103761298A (zh) 一种基于分布式架构的实体匹配方法
CN107169138B (zh) 一种面向分布式内存数据库查询引擎的数据分发方法
TWI732501B (zh) 在區塊鏈中並行執行交易的方法和裝置及電腦可讀儲存媒體與計算設備
CN111770173B (zh) 一种基于网络控制器的归约方法及系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19855023

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19855023

Country of ref document: EP

Kind code of ref document: A1