IP Library › Granted Patent US 9,811,580
Granted Patent B2
US 9,811,580 · App. 14/051,260 · Granted Nov 7, 2017

Policy based automatic physical schema management

Inventors: Lynette D. Adayilamuriyil (Olathe, KS); Marco Greco (Staines, GB); John F. Miller, III (Lake Oswego, OR); Raghupathi K. Murthy (Union City, CA); Sitaram Vemulapalli (San Jose, CA)
Assignee: International Business Machines Corporation
G06F17/30595G06F17/30292G06F17/30339
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,811,580
App. No.
14/051,260
Granted
Nov 7, 2017
Kind
B2
Abstract

Provided are techniques for cyclic based data partitioning policy with automatic physical schema management. A data partitioning policy for data is received, wherein the data partitioning policy identifies a condition for automatically implementing the data partitioning policy and criteria for modifying a set of partitions. In response to the condition occurring, the data partitioning policy is automatically applied to select at least one partition from the set of partitions based on the criteria. An operation is performed on the at least one partition to modify the set of partitions.

Claims (34)

1. A computer program product, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by at least one processor to perform:

receiving a data partitioning policy for data in a set of partitions for a table, wherein the data partitioning policy identifies a condition for automatically implementing the data partitioning policy, wherein the data partitioning policy is described in a statement that includes a rolling partitions clause that specifies a quantity of partitions to keep for the table and a limit to clause that indicates a maximum size of the table;

in response to the condition occurring, determining one of that a number of the partitions in the set of partitions for the table exceeds the specified quantity and that a total storage allocated to the table exceeds the maximum size; and

performing an operation on at least one partition to modify the set of partitions, wherein, when the operation is for detachment,

for the rolling partitions clause, performing the operation for detachment until the specified quantity of the partitions to keep for the table is met by selecting the at least one partition that holds a lowest set of values; and

for the limit to clause, performing the operation for detachment until the maximum size is met by selecting one of an interval partition and a range partition based on:

in response to an ANY clause being specified with the limit to clause, selecting one of the interval partition and the range partition holding the lowest set of values;

in response to an INTERVAL ONLY clause being specified in the limit to clause, selecting the interval partition; and

in response to an INTERVAL FIRST clause being specified with the limit to clause, selecting the interval partition before selecting the range partition.

2. The computer program product of claim 1 , wherein the operation is at least one of creating the at least one partition, attaching the at least one partition to the set of partitions, dropping the at least one partition from the set of partitions, discarding the at least one partition from the set of partitions, and modifying the at least one partition.

3. The computer program product of claim 2 , wherein the program code is executable by the at least one processor to perform:

in response to one of attaching the at least one partition to the set of partitions and detaching the at least one partition from the set of partitions, collecting statistics for data remaining in the table.

4. The computer program product of claim 3 , wherein attaching the at least one partition to the set of partitions and detaching the at least one partition from the set of partitions are performed while at least one other user is accessing the table.

5. The computer program product of claim 1 , wherein the program code is executable at least in part by a Software as a Service (SaaS) offering.

6. A computer system, comprising:

one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices; and

program instructions, stored on at least one of the one or more computer-readable, tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to perform operations, wherein the operations comprise:

receiving a data partitioning policy for data in a set of partitions for a table, wherein the data partitioning policy identifies a condition for automatically implementing the data partitioning policy, wherein the data partitioning policy is described in a statement that includes a rolling partitions clause that specifies a quantity of partitions to keep for the table and a limit to clause that indicates a maximum size of the table;

in response to the condition occurring, determining one of that a number of the partitions in the set of partitions for the table exceeds the specified quantity and that a total storage allocated to the table exceeds the maximum size; and

performing an operation on at least one partition to modify the set of partitions, wherein, when the operation is for detachment,

for the rolling partitions clause, performing the operation for detachment until the specified quantity of the partitions to keep for the table is met by selecting the at least one partition that holds a lowest set of values; and

for the limit to clause, performing the operation for detachment until the maximum size is met by selecting one of an interval partition and a range partition based on:

in response to an ANY clause being specified with the limit to clause, selecting one of the interval partition and the range partition holding the lowest set of values;

in response to an INTERVAL ONLY clause being specified in the limit to clause, selecting the interval partition; and

in response to an INTERVAL FIRST clause being specified with the limit to clause, selecting the interval partition before selecting the range partition.

7. The computer system of claim 6 , wherein the operation is at least one of creating the at least one partition, attaching the at least one partition to the set of partitions, dropping the at least one partition from the set of partitions, discarding the at least one partition from the set of partitions, and modifying the at least one partition.

8. The computer system of claim 7 , wherein the operations further comprise:

in response to one of attaching the at least one partition to the set of partitions and detaching the at least one partition from the set of partitions, collecting statistics for data remaining in the table.

9. The computer system of claim 8 , wherein attaching the at least one partition to the set of partitions and detaching the at least one partition from the set of partitions are performed while at least one other user is accessing the table.

10. The computer system of claim 6 , wherein the program instructions are executable at least in part by a Software as a Service (SaaS) offering.

11. The computer system of claim 6 , wherein the data partitioning policy is defined by specifying at least one of: whether any detached partitions are to be one of dropped and preserved and where new partitions are to be stored.

12. The computer system of claim 6 , wherein the condition is one of an elapsed amount of time and a numerical value specifying a portion of data to be retained.

13. The computer program product of claim 1 , wherein the data partitioning policy is defined by specifying at least one of: whether any detached partitions are to be one of dropped and preserved and where new partitions are to be stored.

14. The computer program product of claim 1 , wherein the condition is one of an elapsed amount of time and a numerical value specifying a portion of data to be retained.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: ADAYILAMURIYIL, LYNETTE D.; GRECO, MARCO; MILLER, JOHN F., III; MURTHY, RAGHUPATHI K.; VEMULAPALLI, SITARAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 031713/0511 →
Continuity (1)
Related Publication 20150106407A1 · Apr 16, 2015