Data management in relational databases

US9984124B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9984124-B2
Application numberUS-201213443964-A
CountryUS
Kind codeB2
Filing dateApr 11, 2012
Priority dateMay 11, 2011
Publication dateMay 29, 2018
Grant dateMay 29, 2018

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.

At least one user table in a relational database management system (RDBMS) using a first operator within a structured query language (SQL) command is identified. The first operator within the SQL command is utilized to transfer one or more data items from the at least one user table to a data array within the RDBMS. The data array is processed within the RDBMS, and one or more output values are generated based on the processing.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for processing data, the method comprising: identifying at least one user table in a relational database management system (RDBMS) using a first operator within a structured query language (SQL) command; applying a data verification function to the first operator, the data verification function generating an output indicating whether or not utilization of the first operator will produce a valid result; utilizing the first operator within the SQL command to transfer one or more data items from the at least one user table to a data array within the RDBMS based on the data verification function determining that the first operator will produce a valid result, wherein the data array is a data matrix comprising multiple columns and the data verification function is a mathematical validity check that determines validity by at least: (a) combining specific characteristics of the data matrix and generates an indication as to whether or not processing the data array will generate an invalid result based on a comparison of dimensions of matrices as inputs to be operated upon by the SQL command including entries placed therein by the first operator, and (b) unrolling of polynomial expressions in which data entries placed in the data matrix by the first operator are to be entered as one or more pre-calculated operations prior to processing the first operator; performing a SQL query rewrite that reduces input/output operations prior to processing the data array within the RDBMS by at least reordering unrolled arithmetic operations involved in a chain of matrix operations, wherein the SQL query rewrite is performed by an SQL engine having a global view of the chain of matrix operations, wherein the matrix operations are not written as user defined functions (UDF); processing the data array within the RDBMS after performing the SOL query rewrite; and generating one or more output values based on the processing. 2. The method of claim 1 , wherein the data array is a matrix data representation, and processing the data array within the RDBMS comprises applying one or more selected matrix data manipulation functions. 3. The method of claim 1 , wherein the data array is a vector data representation, and processing the data array within the RDBMS comprises applying one or more selected vector data manipulation functions. 4. The method of claim 1 , further comprising provisioning of a further operator consistent with a format of one of a SQL aggregator and a SQL predicate. 5. The method of claim 4 , wherein the further operator is operable to perform at least a selected one function from the group comprising: scalar multiplication, matrix addition, matrix subtraction, matrix transposition, matrix inverse, matrix determinant, matrix Eigen Values, and matrix Eigen Vector. 6. The method of claim 1 , wherein each output value is configured to provide an output in a form for use as an input to a further operator. 7. The method of claim 1 , further comprising applying a processing optimization based on a form of data to be processed by the first operator. 8. The method of claim 1 , wherein the first operator is configured to output one or more values in a predetermined format to be held within the RDBMS. 9. The method of claim 1 , wherein the first operator is configured to output one or more scalar values. 10. An apparatus for processing data, the apparatus comprising: a memory configured to store data defining a relational database in a relational database management system (RDBMS); and a processor, the processor configured for: identifying at least one user table in the RDBMS using a first operator within a structured query language (SQL) command; applying a data verification function to the first operator, the data verification function generating an output indicating whether or not utilization of the first operator will produce a valid result; utilizing the first operator within the SQL command to transfer one or more data items from the at least one user table to a data array within the RDBMS based on the data verification function determining that the first operator will produce a valid result, wherein the data array is a data matrix comprising multiple columns and the data verification function is a mathematical validity check that determines validity by combining specific characteristics of the data matrix and generates an indication as to whether or not processing the data array will generate an invalid result based on a comparison of dimensions of matrices as inputs to be operated upon by the SQL command including entries placed therein by the first operator, and unrolling of polynomial expressions in which data entries placed in the data matrix by the first operator are to be entered as one or more pre-calculated operations prior to processing the first operator; performing a SQL query rewrite that reduces input/output operations prior to processing the data array within the RDBMS by at least reordering unrolled arithmetic operations involved in a chain of matrix operations, wherein the processor has a global view of the chain of matrix operations, wherein the matrix operations are not written as user defined functions (UDF); processing the data array within the RDBMS after performing the SQL query rewrite; and generating one or more output values based on the processing. 11. The apparatus of claim 10 , wherein the data array is a matrix data representation, and processing the data array within the RDBMS comprises applying one or more selected matrix data manipulation functions. 12. A computer program product for processing data, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured for: identifying at least one user table in a relational database management system (RDBMS) using a first operator within a structured query language (SQL) command; applying a data verification function to the first operator, the data verification function generating an output indicating whether or not utilization of the first operator will produce a valid result; utilizing the first operator within the SQL command to transfer one or more data items from the at least one user table to a data array within the RDBMS based on the data verification function determining that the first operator will produce a valid result, wherein the data array is a data matrix comprising multiple columns and the data verification function is a mathematical validity check that determines validity by combining specific characteristics of the data matrix and generates an indication as to whether or not processing the data array will generate an invalid result based on a comparison of dimensions of matrices as inputs to be operated upon by the SQL command including entries placed therein by the first operator, and unrolling of polynomial expressions in which data entries placed in the data matrix by the first operator are to be entered as one or more pre-calculated operations prior to processing the first operator; performing a SQL query rewrite that reduces input/output operations prior to processing the data array within the RDBMS by at least reordering unrolled arithmetic operations involved in a chain of matrix operations, wherein the SOL query rewrite is to be performed by an SOL engine having a global view of the chain of matrix operation, wherein the matrix operations are not written as user defined functions (UDF); processing the data array within the RDBMS after performing the SOL query rewrite; and gener

Assignees

Inventors

Classifications

  • Intermediate data storage techniques for performance improvement · CPC title

  • Physics · mapped topic

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 US9984124B2 cover?
At least one user table in a relational database management system (RDBMS) using a first operator within a structured query language (SQL) command is identified. The first operator within the SQL command is utilized to transfer one or more data items from the at least one user table to a data array within the RDBMS. The data array is processed within the RDBMS, and one or more output values are…
Who is the assignee on this patent?
Dantressangle Patrick, Hechler Eberhard, Oberhofer Martin, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F16/24561. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 29 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). 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).