IP Library Granted Patent US 9,886,482
Granted Patent B2
US 9,886,482 · App. 15/180,398 · Granted Feb 6, 2018

Data management system with stored procedures

Inventors: Peter Bendel (Holzgerlingen, DE); Nicole Y. Finnie (Boeblingen, DE); Christian W. Hoerst (Boeblingen, DE); Knut Stolze (Jena, DE)
Assignee: International Business Machines Corporation
G06F17/30463G06F17/3051G06F17/30575G06F17/30592G06F21/6218G06F21/6236
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 9,886,482
App. No.
15/180,398
Granted
Feb 6, 2018
Kind
B2
Abstract

A method includes storing a first stored procedure in a first database management module and a second stored procedure in a second database management module, receiving by the first database management module a request to run a computational task with the first stored procedure, receiving a request to perform the computational task and in response thereto causing a first query optimizer in the first database management module to automatically compute a query execution plan for the first stored procedure, using the query execution plan to identify all first data containers on the first database management module that provide input data for the requested computational task, identifying a list of names of all second data containers mapped to the identified first data containers, and performing the second stored procedure using the list of names. A corresponding computer program product and data management system are also disclosed herein.

Claims (22)

1. A method, executed by a database management system, the method comprising:

storing a first stored procedure in a first database management module;

storing a second stored procedure in a second database management module;

receiving by the first database management module a request to run a computational task with the first stored procedure;

receiving a request to perform the computational task and in response thereto causing a first query optimizer in the first database management module to automatically compute a first query execution plan for the first stored procedure;

identifying, based at least in part on the first query execution plan, all first data containers on the first database management module that provide input data for the computational task to provide identified first data containers;

identifying a list of names of all second data containers mapped to the identified first data containers;

computing a second query execution plan for the second stored procedure, by a second query optimizer in the second database management module, based at least in part on the first query execution plan and the list of names; and

performing the second stored procedure in accordance with the second query execution plan.

2. The method of claim 1 , wherein the first query execution plan resolves an unsynchronized first data container to a synchronized first data container from which the unsynchronized first data container is configured to retrieve input data.

3. The method of claim 1 , wherein the first query execution plan triggers the second database management module to create a new second data container in accordance with information for an unsynchronized first data container in the first query execution plan, the new second data container being structurally identical to the unsynchronized first data container.

4. The method of claim 1 , further comprising determining if a client system has all necessary privileges to access the identified first data containers and identifying a list of names of all second data containers in response to determining that the client system has all necessary privileges to access the identified first data containers.

5. The method of claim 4 , further comprising terminating the method without identifying the list of names of the second data containers and without executing the second stored procedure in response to determining that client system does not have all necessary privileges to access the identified first data containers.

6. The method of claim 2 , wherein the unsynchronized first data container comprises a view configured to retrieve data from a synchronized first data container.

7. The method of claim 1 , further comprising triggering performance of the second stored procedure, in accordance with the second query execution plan, in response to having identified the list of names.

8. The method of claim 1 , wherein the first and the second stored procedures respectively comprise a call to a user-defined function, the user-defined function being specified in SQL.

9. The method of claim 2 , further comprising identifying, based at least in part on the first query execution plan, all first data containers that would be accessed upon executing the user-defined function, and thereby resolving any unsynchronized first data container specified in the user-defined function to a synchronized first data container from which the unsynchronized first data container is configured to retrieve input data.

10. The method of claim 2 , further comprising identifying, based at least in part on the query execution plan, all first data containers that would be accessed upon executing the user-defined function, and thereby triggering the second database management module to create a new second data container in accordance with information on the unsynchronized first data container in the query execution plan, the new second data container being structurally identical to the unsynchronized first data container.

11. The method of claim 1 , wherein:

the first query optimizer is configured for computing efficient query execution plans for tables in row-major order; and

the second query optimizer is configured for computing efficient query execution plans for tables in column-major order.

12. The method of claim 1 , wherein the computational task is a k-means clustering algorithm.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2016
From: BENDEL, PETER; FINNIE, NICOLE Y.; HOERST, CHRISTIAN W.; STOLZE, KNUT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038895/0216 →
Continuity (2)
Continuation 14715662 · May 19, 2015
Related Publication 20160342654A1 · Nov 24, 2016