Reference partitioning for database objects

US2016179920A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016179920-A1
Application numberUS-201615056108-A
CountryUS
Kind codeA1
Filing dateFeb 29, 2016
Priority dateDec 30, 2013
Publication dateJun 23, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In one general aspect, a computer-implemented system for reference partitioning database objects by a reference field includes at least one hardware processor, at least one database environment, the database environment supporting triggers and partitioning, at least one application program, and memory storing a reference field metadata framework. The reference field metadata framework identifies classes in a hierarchy of database objects, identifies at least one class as a root of the hierarchy, identifies, for each non-root class, a reference inheritance function for the class, and identifies, for each parent class-child class pair in the hierarchy, a relation-join query, the relation-join query being a join between tables in the database environment onto which the parent class and child class are persisted. The memory also stores triggers that use the framework to maintain values for the reference field for non-root database objects.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method comprising: receiving, from an application program, a new value for a field of a root database object, the root database object being an object in a database partitioned based on values of the field, each database object being a row in a table and the database objects being organized in a hierarchy, wherein the database supports triggers but lacks support for reference partitioning; updating the value of the field for the root object, thereby causing a table row associated with the root object to change partitions in the database; locating a first database object that is a child of the root object in the hierarchy; applying an inheritance function associated with a class of the child object to determine a value of the field for the first database object; when the determined value differs from a current value of the field for the first database object, changing the current value to the determined value and moving a table row for the first database object to a partition associated with the determined value; and repeating the locating, applying, and changing for all children of the root object. 2 . The computer-implemented method of claim 1 , wherein the first database object has at least two parent objects in the hierarchy and applying the inheritance function includes: determining the parent objects using a parent retrieval query associated with the class of the first database object; and determining a value for the field for the determined parent objects that are not the root database object. 3 . The computer-implemented method of claim 1 , wherein the inheritance function is stored as an attribute of the class in a metadata table. 4 . The computer-implemented method of claim 1 , wherein the field represents a combination of at least two columns. 5 . The computer-implemented method of claim 1 , wherein the field is a column in a table supporting the respective database object. 6 . The computer-implemented method of claim 1 , wherein the field is a column of the table storing the respective database object. 7 . The computer-implemented method of claim 1 , wherein when the application program updates a foreign key of a second database object, the method further comprises: applying an inheritance function associated with a class of the second database object to determine a value of the field for the second database object; setting a current value of the field for the second database object to the determined value; locating a third database object that is a child of the second database object in the hierarchy; applying an inheritance function associated with a class of the third database object to determine a value of the field for the third database object; when the determined value for the third database object differs from a current value for the third database object, changing the current value to the determined value and moving a table row for the third database object to a partition associated with the determined value; and repeating the locating, applying, and changing for all children of the second database object. 8 . The computer-implemented method of claim 1 , wherein when the application program inserts a second database object into the hierarchy, the second database object being a non-root object for the hierarchy, the method further comprises: applying an inheritance function associated with a class of the second database object to determine a value of the field for the second database object; and wherein a table row for the second database object is stored in a partition associated with the determined value of the field for the second database object. 9 . The computer-implemented method of claim 1 , wherein the hierarchy is cyclic and first database object has at least two parent objects in the hierarchy and applying the inheritance function includes: determining the parent objects using a parent retrieval query associated with the class of the first database object; and determining a value for the field for the determined parent objects that are not the root database object. 10 . A system for reference partitioning database objects by values in a reference field, the system comprising: at least one hardware processor; at least one database environment, the database environment supporting triggers and partitioning; at least one application program; and memory storing: a reference field metadata framework that: identifies classes in a hierarchy of database objects, identifies at least one class as a root of the hierarchy, identifies, for each non-root class, a reference field inheritance function for the class, and identifies, for each parent class-child class pair in the hierarchy, a relation-join query, the relation-join query being a join between tables in the database environment onto which the parent class and child class are persisted, and triggers that use the framework to maintain values for the reference field for non-root database objects, including at least a first trigger invoked after a reference field of a database object in a root class is changed, a second trigger invoked when a non-root database object is inserted, and a third trigger invoked when a non-root database object has a change in parent. 11 . The system of claim 10 , wherein the first trigger uses the reference field metadata framework to: traverse the hierarchy from the database object in the root class downwards, avoiding cycles; and set a value for the reference field of each child database object reached in the traversal according to the reference field inheritance function for a class of the child database object, wherein the child database object is assigned to a partition according to its value for the reference field. 12 . The system of claim 10 , wherein the second trigger uses the reference field metadata framework to: determine a value for the reference field of each parent database object of the inserted non-root database object; apply the reference field inheritance function for the class of the inserted non-root database object to determine a value for the reference field of the non-root database object; and assign the non-root database object to a partition according to the determined value. 13 . The system of claim 10 , wherein the third trigger uses the reference field metadata framework to: determine a value for the reference field of each parent database object of the non-root database object; apply the reference field inheritance function for the class of the non-root database object to determine a value for the reference field of the non-root database object, wherein the database object is assigned to a partition according to the value; assign the non-root database object to a partition according to the determined value; traverse the hierarchy from the non-root database object downwards, avoiding cycles; and set a lifecycle state of each object reached in the traversal according to the reference field inheritance function for a class of the object reached in the traversal. 14 . The system of claim 10 , wherein the system includes at least two database environments from different vendors, each database environment supporting triggers and partitioning. 15 . The system of claim 10 , wherein the framework further includes a hierarchy traversal query for at least some of the classes and a parent retrieval query for at least some of the classes. 16 . The system of claim 15 , wherein the hierarchy traversal query for a first class is generated prior to the

Assignees

Inventors

Classifications

  • G06F16/278Primary

    Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • with details for schema evolution support · CPC title

  • Design, administration or maintenance of databases · CPC title

  • Update request formulation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016179920A1 cover?
In one general aspect, a computer-implemented system for reference partitioning database objects by a reference field includes at least one hardware processor, at least one database environment, the database environment supporting triggers and partitioning, at least one application program, and memory storing a reference field metadata framework. The reference field metadata framework identifie…
Who is the assignee on this patent?
Bmc Software Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/278. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 23 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).