IP Library › Granted Patent US 10,754,856
Granted Patent B2
US 10,754,856 · App. 15/991,082 · Granted Aug 25, 2020

System and method for optimizing large database management systems using bloom filter

Inventors: Jason Arnold (Chicago, IL); George Kondiles (Chicago, IL)
Assignee: OCIENT INC.
G06F16/24542G06F16/21G06F16/23G06F16/2455G06F16/24532G06F16/24545G06F16/901
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,754,856
App. No.
15/991,082
Granted
Aug 25, 2020
Kind
B2
Abstract

A large highly parallel database management system includes thousands of nodes storing huge volume of data. The database management system includes a query optimizer for optimizing data queries. The optimizer estimates the column cardinality of a set of rows based on estimated column cardinalities of disjoint subsets of the set of rows. For a particular column, the actual column cardinality of the set of rows is the sum of the actual column cardinalities of the two subsets of rows. The optimizer creates two respective Bloom filters from the two subsets, and then combines them to create a combined Bloom filter using logical OR operations. The actual column cardinality of the set of rows is estimated using a computation from the combined Bloom filter.

Claims (15)

1. A method of optimizing data queries for execution by a computer of a database management system, the method comprising:

estimating a first column cardinality of a first column based on a first subset of rows of a set of rows of the first column to produce a first estimated first column cardinality;

estimating a second first column cardinality of the first column based on a second subset of rows of the set of rows to produce a second estimated first column cardinality, wherein the first subset of rows and the second subset of rows are disjoint subsets of the set of rows, and wherein a column cardinality of the first column is a number of distinct values within the set of rows of the first column;

generating a first Bloom filter based on the first subset of rows;

generating a second Bloom filter based on the second subset of rows;

combining the first Bloom filter and the second Bloom filter to create a combined Bloom filter; and

determining an estimated column cardinality of the first column based on the combined Bloom filter.

2. The method of claim 1 further comprising:

logically ORing corresponding bits of the first Bloom filter and the second Bloom filter to produce the combined Bloom filter.

3. The method of claim 1 , wherein the generating the first Bloom filter is further based on one or more of the set of rows, the first estimated first column cardinality, and a frequency of frequencies for each distinct value within the first subset of rows.

4. The method of claim 1 further comprising:

randomly sampling rows of the set of rows to produce the first subset of rows; and

randomly sampling second rows of the set of rows to produce the second subset of rows.

5. The method of claim 1 further comprising:

determining a cost estimate for an operation of a data query of the data queries based on the estimated column cardinality.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2018
From: ARNOLD, JASON; KONDILES, GEORGE
To: OCIENT INC.
Reel/Frame 045918/0039 →
Continuity (2)
Provisional Application 62512248 · May 30, 2017
Related Publication 20180349364A1 · Dec 6, 2018