IP Library › Patent Application 15281204
Patent Application
App. No. 15/281,204

DATABASE-AGNOSTIC PARALLEL READS

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 None
App. No.
15/281,204
Abstract

A query into a database is processed by receiving an instruction to partition data in the database into respective data partitions for the query. In response to the instruction, a query execution plan is generated that specifies the data from the database for the respective data partitions according to at least one data characteristic. The query execution plan is executed to compel reading the data of the data partitions from the database in respective data streams independently one from another.

Claims (46)

1 . A method of processing a query into a database, the method comprising:

receiving an instruction to partition data in the database into respective data partitions for the query;

generating, in response to the instruction, a query execution plan that specifies the data from the database for the respective data partitions according to at least one data characteristic; and

executing the query execution plan to compel reading the data of the data partitions from the database in respective data streams independently one from another.

2 . The method of claim 1 , wherein receiving the instruction comprises:

specifying the number of data partitions in the instruction.

3 . The method of claim 2 , wherein receiving the instruction comprises:

receiving the instruction in query statements of a query.

4 . The method of claim 3 , wherein executing the query execution plan comprises:

processing the query statements for each of the data streams in parallel query processing pipelines.

5 . The method of claim 2 , wherein generating the query execution plan comprises:

selecting the data characteristic from optimizing criteria that partitions the data over the specified number of partitions.

6 . The method of claim 1 further comprising:

selecting a database connectivity driver for the database; and

issuing the instruction to partition data in the database through the selected database connectivity driver.

7 . A system for processing a query into a database, the method comprising:

at least one processor communicatively coupled to the database, the processor configured to:

receive an instruction to partition data in the database into respective data partitions for the query;

generate, in response to the instruction, a query execution plan that specifies the data from the database for the respective data partitions according to at least one data characteristic; and

execute the query execution plan to compel reading the data of the data partitions from the database in respective data streams independently one from another.

8 . The system of claim 7 , wherein the at least one processor is configured to:

specify the number of data partitions in the instruction.

9 . The system of claim 8 , wherein the at least one processor is configured to:

receive the instruction in query statements of a query.

10 . The system of claim 9 , wherein the at least one processor is configured to:

process the query statements for each of the data streams in parallel query processing pipelines.

11 . The system of claim 8 , wherein the at least one processor is configured to:

select the data characteristic from optimizing criteria that partitions the data over the specified number of partitions.

12 . The system of claim 7 , wherein the at least one processor is configured to:

select a database connectivity driver for the database; and

issue the instruction to partition data in the database through the selected database connectivity driver.

13 . A computer program product for processing a query into a database, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by at least one processor to cause the processor to:

receive an instruction to partition data in the database into respective data partitions for the query;

generate, in response to the instruction, a query execution plan that specifies the data from the database for the respective data partitions according to at least one data characteristic; and

execute the query execution plan to compel reading the data of the data partitions from the database in respective data streams independently one from another.

14 . The computer program product of claim 13 , wherein the program instructions cause the at least one processor to:

specify the number of data partitions in the instruction.

15 . The computer program product of claim 14 , wherein the program instructions cause the at least one processor to:

receive the instruction in query statements of a query.

16 . The computer program product of claim 15 , wherein the program instructions cause the at least one processor to

process the query statements for each of the data streams in parallel query processing pipelines.

17 . The computer program product of claim 13 , wherein the program instructions cause the at least one processor to:

select the data characteristic from optimizing criteria that partitions the data over the specified number of partitions.

18 . The computer program product of claim 13 , wherein the program instructions cause the at least one processor to:

select a database connectivity driver for the database; and

issue the instruction to partition data in the database through the selected database connectivity driver.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2016
From: STANLEY, PAUL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 039902/0833 →