Dynamic data partitioning extension

US2016283572A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016283572-A1
Application numberUS-201514669106-A
CountryUS
Kind codeA1
Filing dateMar 26, 2015
Priority dateMar 26, 2015
Publication dateSep 29, 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.

Methods, systems, and computer program products are included for defining a partitioning strategy corresponding to an attribute, creating tables and inserting data into the tables according to the partitioning strategy, detecting triggering events, and responsive to the triggering events, dynamically activating tables for storing data.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for dynamically partitioning and storing data in a database, the method comprising: defining a plurality of subsets corresponding to an attribute; creating a first table in a database, the first table corresponding to data values that are members of a first subset of the plurality of subsets; receiving a first insert statement, the first insert statement including a first data value that is a member of the first subset; transforming the first insert statement into a transformed first insert statement; executing the transformed first insert statement to insert the first data value into the first table; receiving a second insert statement, the second insert statement including a second data value that is a member of the first subset; detecting a trigger event corresponding to the first table; based on the detecting, creating a second table in the database, the second table corresponding to data values that are members of the first subset; transforming the second insert statement into a transformed second insert statement; and executing the transformed second insert statement to insert the second data value into the second table. 2 . The method of claim 1 , wherein transforming the first insert statement comprises: parsing the first insert statement to identify the attribute and the first data value; determining that the first data value is a member of the first subset; identifying an active table corresponding to the first subset, wherein the first table is the active table; and modifying the first insert statement to indicate that the first data value is to be inserted into the first table. 3 . The method of claim 1 , wherein the trigger event corresponds to the first table having or exceeding at least one of the following: a pre-configured number of records; a pre-configured table size; and a pre-configured index size. 4 . The method of claim 1 , wherein creating the second table in the database further comprises: placing the first table on hold; and marking the second table as active. 5 . The method of claim 1 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 6 . The method of claim 1 , wherein each subset of the plurality of subsets is a horizontal partition corresponding to the attribute, wherein the first subset is a first horizontal partition, wherein the first table and the second table are members of the first horizontal partition. 7 . The method of claim 1 , wherein transforming the second insert statement comprises: parsing the second insert statement to identify the attribute and the second data value; determining that the second data value is a member of the first subset; identifying an active table corresponding to the first subset, wherein the second table is the active table; and modifying the second insert statement to indicate that the second data value is to be inserted into the second table. 8 . The method of claim 1 , further comprising: defining the attribute as a key attribute. 9 . The method of claim 1 , further comprising: deleting one or more data values from the first table; determining a first closeness between the first table and an original table; determining a second closeness between the second table and the original table; determining that the first closeness is less than the second closeness; detecting that the first table is less than or equal to a pre-configured minimum table size, number of records, or index size; placing the second table on hold; and marking the first table as active. 10 . The method of claim 1 , further comprising: creating a table corresponding to each subset of the plurality of subsets, wherein a hash table identifies tables that correspond to each subset of the plurality of subsets. 11 . A non-transitory computer-readable medium for database partitioning, comprising computer-readable instructions, the computer-readable instructions executable by a processor to cause the processor to: receive a first insert statement, the first insert statement including a first data value that is a member of a first subset; transform the first insert statement; insert the first data value into a first table; detect a trigger event corresponding to the first table; create a second table, the second table corresponding to data values that are members of the first subset; receive a second insert statement, the second insert statement including a second data value that is a member of the first subset; transform the second insert statement; and insert the second data value into the second table. 12 . The medium of claim 11 , wherein the trigger event is at least one of the following: meeting or exceeding a pre-configured number of records; meeting or exceeding a pre-configured table size; and meeting or exceeding a pre-configured index size. 13 . The medium of 11 , wherein creating the second table further comprises: marking in a hash table that the first table is on hold; and marking in the hash table that the second table is active. 14 . The medium of claim 11 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 15 . The medium of claim 11 , wherein the first subset is a horizontal partition corresponding to the attribute, wherein the first table and the second table are members of the horizontal partition. 16 . A system comprising: a processor and a memory; an enterprise application that is executed by the processor, the enterprise application including a business key functionality module; the business key functionality module to define a plurality of subsets corresponding to an attribute; a database including a first table, the first table corresponding to data values that are members of a first subset of the plurality of subsets; a dynamic partition layer, the dynamic partition layer to receive a first insert statement, the first insert statement including a first data value that is a member of the first subset; the dynamic partition layer to transform the first insert statement; the dynamic partition layer to detect a trigger event corresponding to the first table; the database including a second table, the second table corresponding to data values that are members of the first subset; the dynamic partition layer to receive a second insert statement, the second insert statement including a second data value that is a member of the first subset; and the dynamic partition layer to transform the second insert statement. 17 . The system of claim 16 , wherein the trigger event is at least one of the following: meeting or exceeding a pre-configured number of records; meeting or exceeding a pre-configured table size; and meeting or exceeding a pre-configured index size. 18 . The system of claim 16 , wherein the first table is a first vertical partition corresponding to the first subset and the second table is a second vertical partition corresponding to the first subset. 19 . The system of claim 16 , wherein each subset of the plurality of subsets is a horizontal partition corresponding to the attribute, wherein the first subset is a first horizontal partition, wherein the first table and the second table are members of the first horizontal partition. 20 . The sy

Assignees

Inventors

Classifications

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 US2016283572A1 cover?
Methods, systems, and computer program products are included for defining a partitioning strategy corresponding to an attribute, creating tables and inserting data into the tables according to the partitioning strategy, detecting triggering events, and responsive to the triggering events, dynamically activating tables for storing data.
Who is the assignee on this patent?
Red Hat 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 Sep 29 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).