Data loading tool

US2016188418A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016188418-A1
Application numberUS-201514851184-A
CountryUS
Kind codeA1
Filing dateSep 11, 2015
Priority dateOct 19, 2012
Publication dateJun 30, 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 an exemplary embodiment of this disclosure, a method for loading data from a backup image of a database includes selecting a subset statement defining a subset of the data in the database. Tables of the database are identified based on metadata of the database. A target database is written having the structure but not the data of the identified tables. One or more table statements are constructed, by a computer processor, defining a subset of each identified table based on the subset statement. Selected data is unloaded from a backup image into the target database using respective table statements as filters.

First claim

Opening claim text (preview).

What is claimed is: 1 . A method for loading selective data from a database, the database comprising a plurality of tables that are structured in a particular topology and the database contains data in the tables, the method comprising: receiving, by a processor, a request to access a subset of the data in the database; in response, writing, by the processor, an empty target database having the topology of the tables in the database; identifying, by the processor, a subset of the tables referenced in the subset of the data corresponding to the request; determining, by the processor, an unload order to unload the subset of the data from the tables, wherein the unload order facilitates unloading the data within a predetermined duration; and unloading, by the processor, the subset of the data from a backup image of the database into the target database in the determined unload order, wherein the processor unloads the subset of the data in form of rows of the tables. 2 . The method of claim 1 , further comprising: constructing, by the processor, one or more table statements defining a subset of each table in the database based on the subset of the data requested; and unloading the subset of the data using respective table statements as filters. 3 . The method of claim 1 , further comprising: receiving, by the processor, a selection of the backup image to unload the subset of the data from; and selecting, by the processor, the backup image of the database according to the selection. 4 . The method of claim 1 further comprising, identifying, by the processor, the topology of the tables in the database based on metadata of the database. 5 . The method according to claim 1 , wherein the unload order unloads the tables in the database that are associated with respective filter predicates specified in the request before other tables in the database. 6 . The method according to claim 1 , wherein the unload order processes tables that are in a single file of the backup image in a single scan of the backup image. 7 . The method according to claim 1 , wherein determining the unload order comprises: identifying tables in the database that have the lowest expected number of rows to be unloaded; and ordering the tables with the lowest expected number of rows to be unloaded first. 8 . The method according to claim 1 , further comprising: receiving, by the processor, database constraints for the target database; and configuring, by the processor, the target database according to the database constraints. 9 . A computer program product comprising computer readable storage medium having computer executable instructions embodied thereon, the computer readable storage medium comprises instructions to: receive a data selection query that selects a subset of data in a source database, the source database comprising the data structured in rows of tables; identify a topology of the tables in the source database based on metadata of the source database; create an empty target database according to the topology of the source database; determine a first row of a first table in the source database being referenced by the data selection query; and unload contents of the first row of the first table from a backup image of the source database to a first row of a first table in the target database. 10 . The computer program product of claim 9 , wherein the non-transitory computer readable storage medium further comprises instructions to: receive a selection of a version of the backup image to use for copying contents; and use a latest version of the backup image in absence of the selection. 11 . The computer program product of claim 9 , wherein the computer readable storage medium further comprises instructions to: determine a second row of a second table in the source database being referenced by the data selection query; and construct a table statement that identifies the first row and the second row; and determine an unload order to unload the contents from the backup image of the source database based on the table statement; and unload contents of the first row from the first table and the second row from the second table according to the unload order. 12 . The computer program product of claim 11 , wherein the unload order facilitates the contents to be unloaded within a predetermined duration. 13 . The computer program product of claim 12 , wherein the unload order unloads the contents of the first table before the second table in response to the data selection query specifying a filter predicate for the first table. 14 . The computer program product of claim 12 , wherein the unload order unloads the contents of the first table before the second table in response to the first table containing a lower number of rows than the second table. 15 . The computer program product of claim 12 , wherein the computer readable storage medium further comprises instructions to unload the contents of the first table and the second table in a single scan of the backup image in response to the first table and the second table being in a single file of the backup image. 16 . A system for unloading data from a backup image of a database, the system comprising: a source database comprising data structured as rows of tables, the tables related to each other according to a predetermined topology; a database repository comprising a plurality of backup images of the source database, wherein a backup image stores the data in files; a server configured to: receive a data selection query to access a subset of data in the source database; create an empty target database according to the topology of the source database; determine a subset of the tables in the source database referenced by the data selection query; and unload contents of the subset of the tables from the backup image of the source database to corresponding rows of the tables in the target database. 17 . The system of claim 16 , wherein the server is further configured to identify the predetermined topology of the source database based on metadata of the source database. 18 . The system of claim 16 , wherein the server is further configured to construct one or more table statements defining a subset of each table in the subset of tables based on the data selection query; and determine an unload order to unload the contents of the source data according to the table statements; and unload the contents from the backup image into the target database using respective table statements as filters in the determined unload order. 19 . The system of claim 18 , wherein the server is further configured to: receive, prior to determining the unload order: a modification to the data selection query; and a modification to a set of database constraints associated with the target database; and in response, determine the unload order according to a modified data selection query and a modified target database. 20 . The system of claim 18 , wherein the unload order unloads the contents from the backup image to the target database within a predetermined duration.

Assignees

Inventors

Classifications

  • by selection of backup contents · CPC title

  • G06F16/21Primary

    Design, administration or maintenance of databases · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • Query processing · CPC title

  • Tablespace storage structures; Management thereof · 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 US2016188418A1 cover?
In an exemplary embodiment of this disclosure, a method for loading data from a backup image of a database includes selecting a subset statement defining a subset of the data in the database. Tables of the database are identified based on metadata of the database. A target database is written having the structure but not the data of the identified tables. One or more table statements are constr…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F11/1451. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 30 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).