IP Library Granted Patent US 11,625,399
Granted Patent B2
US 11,625,399 · App. 16/414,218 · Granted Apr 11, 2023

Methods and devices for dynamic filter pushdown for massive parallel processing databases on cloud

Inventors: Huaizhi Li (San Mateo, CA); Congnan Luo (San Mateo, CA); Ruiping Li (San Mateo, CA); Xiaowei Zhu (San Mateo, CA)
Assignee: Alibaba Group Holding Limited
G06F16/24545G06F16/2255G06F16/2462G06F16/9035G06F16/9536
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 11,625,399
App. No.
16/414,218
Granted
Apr 11, 2023
Kind
B2
Abstract

A method for dynamic filter pushdown for massive parallel processing databases on the cloud, including acquiring one or more filters corresponding to a query, acquiring statistics information of one or more database tables, determining a selectivity of the one or more database tables based on the statistics information, determining whether the selectivity satisfies a threshold condition, and pushing down the one or more filters to the one or more database tables based on the determination of whether the selectivity satisfies a threshold condition.

Claims (53)

1. A method comprising:

acquiring one or more filters corresponding to a query;

acquiring statistics information of one or more database tables;

determining a selectivity of the one or more database tables based on the statistics information;

determining whether the selectivity of the one or more database tables satisfies a threshold condition associated with the statistic information;

determining whether to partition the one or more filters based on the query and the one or more database tables;

partitioning the one or more filters based on the one or more database tables;

pruning partitions of the one or more database tables based on the one or more partitioned filters; and

pushing down the one or more partitioned filters to the one or more database tables based on the determination of whether the selectivity of the one or more database tables satisfies the threshold condition.

2. The method of claim 1 , wherein the one or more database tables correspond with one of one or more heterogeneous storage types further comprising:

determining a storage type of the one or more heterogeneous storage types based on the one or more database tables; and

wherein pushing down the partitioned one or more filters to the one or more database tables is based on the determination of the storage type.

3. The method of claim 2 , wherein pushing down the one or more partitioned filters to the one or more database tables includes pushing down the one of more partitioned filters using an application programming interface.

4. The method of claim 1 , wherein the statistics information is periodically cached based on the one or more database tables before being acquired.

5. The method of claim 1 , wherein the query includes a query for a join or semi-join operation.

6. The method of claim 1 , wherein the one or more database tables includes a big table.

7. A device comprising:

a memory configured to store a set of instructions; and

a processor configured to execute the set of instructions to cause the device to:

acquire one or more filters corresponding to a query;

acquire statistics information of one or more database tables;

determine a selectivity of the one or more database tables based on the statistics information;

determine whether the selectivity of the one or more database tables satisfies a threshold condition associated with the statistic information;

determine whether to partition the one or more filters based on the query and the one or more database tables;

partition the one or more filters based on the one or more database tables;

prune partitions of the one or more database tables based on the one or more partitioned filters; and

push down the one or more partitioned filters to the one or more database tables based on the determination of whether the selectivity of the one or more database tables satisfies the threshold condition.

8. The device of claim 7 , wherein the one or more database tables correspond with one of one or more heterogeneous storage types and wherein the processor is further configured to execute the set of instructions to cause the device to:

determine a storage type of the one or more heterogeneous storage types based on the one or more database tables; and

wherein the pushing down the one or more partitioned filters to the one or more database tables is based on the determination of the storage type.

9. The device of claim 8 , wherein the pushing down the one or more partitioned filters to the one or more database tables includes pushing down the one of more partitioned filters using an application programming interface.

10. The device of claim 7 , wherein the statistics information is periodically cached based on the one or more database tables before being acquired.

11. The device of claim 7 , wherein the query includes a query for a join or semi-join operation.

12. The device of claim 7 , wherein the one or more database tables includes a big table.

13. A database system, comprising:

a first server having one or more processors and the first server is configured to implement at least one front node, the at least one front node configured to receive one or more query associated with one or more filters;

a second server having one or more processors and the second server is configured to implement at least one compute node coupled to the at least one front node, the at least one compute node configured to:

acquire one or more filters corresponding to a query;

acquire statistics information of one or more database tables;

determine a selectivity of the one or more database tables based on the statistics information;

determine whether the selectivity of the one or more database tables satisfies a threshold condition associated with the statistic information;

determine whether to partition the one or more filters based on the query and the one or more database tables;

partition the one or more filters based on the one or more database tables;

prune partitions of the one or more database tables based on the one or more partitioned filters; and

push down the one or more partitioned filters to the one or more database tables based on the determination of whether the selectivity of the one or more database tables satisfies the threshold condition.

14. The database system according to claim 13 , wherein the one or more database tables correspond with one of one or more heterogeneous storage types and wherein the compute node is further configured to:

determine a storage type of the one or more heterogeneous storage types based on the one or more database tables; and

wherein the pushing down the one or more partitioned filters to the one or more database tables is based on the determination of the storage type.

15. The database system according to claim 14 , wherein the pushing down the one or more partitioned filters to the one or more database tables includes pushing down the one of more partitioned filters using an application programming interface.

16. The database system according to claim 13 , wherein the statistics information is periodically cached based on the one or more database tables before being acquired.

17. The database system according to claim 13 , wherein the query includes a query for a join or semi-join operation.

18. The database system according to claim 13 , wherein the one or more database tables includes a big table.

19. The database system according to claim 13 , wherein the first server and the second server is a same server.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: LI, HUAIZHI; LUO, CONGNAN; LI, RUIPING; ZHU, XIAOWEI
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 049783/0550 →
Continuity (1)
Related Publication 20200364226A1 · Nov 19, 2020
Cited By (2)
US 12,210,514 US 12,235,851