Distributed joining of database tables that are keyed by value ranges
AssigneePaypal, Inc.
InventorAvishay Meron
Life of this patent
Estimating the term…
Abstract
A method is provided that includes assigning one or more first records of a first table and one or more second records of a second table to corresponding range groups of a plurality of range groups. The method further includes comparing at least one record of the first table with at least one record of the second table, where the at least one record of the first table and the at least one record of the second table are assigned to a first range group of the plurality of range groups. The method also includes, based on the comparing, identifying a parent record and a child record and segmenting the parent record based on the child record. Further, the method includes subsequent to the segmenting the parent record, performing a join operation on the first table and the second table.
Claims20
A system, comprising:
- one or more hardware processors;
- and
- a memory storing computer-executable instructions, that in response to execution by the one or more hardware processors, causes the system to perform operations comprising:
- accessing a first database table and a second database table, the first database table being keyed by a first set of network address ranges and the second database table being keyed by a second set of network address ranges;
- assigning, based on the first set of network address ranges and the second set of network address ranges, each record of the first database table and each record of the second database table to a corresponding range group of a plurality of range groups;
- executing a segmentation process with respect to the first database table and the second database table, the segmentation process comprising:
- determining, based on a comparison between the first database table and the second database table, one or more parent records assigned to a first range group of the plurality of range groups and one or more child records assigned to the first range group, wherein the determining the one or more parent records and the one or more child records comprises:
- identifying a first parent record from the first database table, the first parent record keyed by a first network address range of the first set of network address ranges;
- and
- identifying at least one child record from the second database table, the at least one child record keyed by a second network address range of the second set of network address ranges, the first network address range completely overlapping the second network address range;
- and
- segmenting the one or more parent records based on one or more child network address ranges that key the one or more child records, the segmenting producing one or more segmented parent records of the first database table;
- and
- subsequent to the executing the segmentation process, joining the first database table with the second database table.
A method, comprising:
- assigning, by a computer comprising one or more hardware processors, one or more first records of a first table and one or more second records of a second table to corresponding range groups of a plurality of range groups, the one or more first records being assigned based on respective value ranges that key the one or more first records, and the one or more second records being assigned based on respective value ranges that key the one or more second records;
- comparing at least one record of the first table with at least one record of the second table, the at least one record of the first table and the at least one record of the second table being assigned to a first range group of the plurality of range groups;
- based on the comparing, identifying a parent record and a child record of the parent record, the parent record being keyed by a first value range, and the child record being keyed by a second value range that is contained within the first value range;
- generating tuple information corresponding to the parent record and the child record the tuple information comprising the first value range, the second value range, an ending range value of a value range that keys a preceding child record that precedes the child record, and a starting range value of a value range that key a following child record that follows the child record;
- segmenting the parent record based on the second value range and the tuple information;
- and
- subsequent to the segmenting the parent record, performing a join operation on the first table and the second table.
A non-transitory computer readable medium storing computer-executable instructions that in response to execution by one or more hardware processors, causes a payment provider system to perform operations comprising:
- assigning one or more first records of a first table and one or more second records of a second table to corresponding range groups of a plurality of range groups, the one or more first records being assigned based on respective value ranges that key the one or more first records, and the one or more second records being assigned based on respective value ranges that key the one or more second records;
- comparing at least one record of the first table with at least one record of the second table, the at least one record of the first table and the at least one record of the second table being assigned to a first range group of the plurality of range groups;
- based on the comparing, identifying a parent record and a child record of the parent record, the parent record being keyed by a first value range, and the child record being keyed by a second value range that is contained within the first value range;
- segmenting the parent record based on the second value range;
- subsequent to the segmenting the parent record, performing a join operation on the first table and the second table;
- and
- subsequent to the segmenting the parent record, identifying a third record assigned to the first range group and a fourth record assigned to the first range group, the third record being keyed by a third value range that partially overlaps a fourth value range that keys the fourth record.
Dependencies are inferred from the claim text.