System and methods of improving a multi-tenant database query using contextual knowledge about non-homogeneously distributed tenant data

US9275105B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9275105-B2
Application numberUS-201213620067-A
CountryUS
Kind codeB2
Filing dateSep 14, 2012
Priority dateSep 23, 2003
Publication dateMar 1, 2016
Grant dateMar 1, 2016

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 embodiments, methods and systems for improving a query in a database system are provided. These method and system embodiments can enable greater contextual knowledge about the types and use of data in tables underlying a relational database to be employed to improve query efficiency. By employing contextual information, embodiments can provide improved queries and/or make recommendations to a query optimizer of a database system to improve its operation based upon knowledge of the data and/or application gathered. Embodiments can be useful in improving query performance in multi-tenant database systems.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product, comprising a non-transitory computer usable medium having a computer readable program code embodied therein, the computer readable program code configured to be executed to cause a computer to implement a method of improving a query in a database, the method comprising: for each tenant of a plurality of tenants of a database system, analyzing tenant specific data included in a data table for the tenant; based on the analyzing, deriving by the database system metadata describing the tenant specific data; storing by the database system a metadata table specific to the tenant, the metadata table storing the derived metadata describing the tenant specific data; receiving by the database system a query for retrieving at least a portion of the tenant specific data included in the data table for a first one of the tenants; in response to the received query, retrieving by the database system the stored metadata table specific to the first one of the tenants, wherein the metadata table is stored by the database system prior to the receipt of the query; processing the retrieved metadata table specific to the first one of the tenants to determine a particular retrieval path to be used for retrieving the at least a portion of the tenant specific data; generating a second query to include the retrieval path, such that the second query is customized for the tenant specific data of the first one of the tenants; and executing, in place of the query, the second query to retrieve the at least a portion of the tenant specific data. 2. The computer program product of claim 1 , wherein the metadata table stored for the tenant is used as a filter. 3. A method, comprising: for each tenant of a plurality of tenants of a database system, analyzing tenant specific data included in a data table for the tenant; based on the analyzing, deriving by the database system metadata describing the tenant specific data; storing by the database system a metadata table specific to the tenant, the metadata table storing the derived metadata describing the tenant specific data; receiving by the database system a query for retrieving at least a portion of the tenant specific data included in the data table for a first one of the tenants; in response to the received query, retrieving by the database system the stored metadata table specific to the first one of the tenants, wherein the metadata table is stored by the database system prior to the receipt of the query; processing the retrieved metadata table specific to the first one of the tenants to determine a particular retrieval path to be used for retrieving the at least a portion of the tenant specific data; generating a second query to include the retrieval path, such that the second query is customized for the tenant specific data of the first one of the tenants; and executing, in place of the query, the second query to retrieve the at least a portion of the tenant specific data. 4. A system, comprising: a processor; and one or more stored sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of: for each tenant of a plurality of tenants of a database system, analyzing tenant specific data included in a data table for the tenant; based on the analyzing, deriving by the database system metadata describing the tenant specific data; storing by the database system a metadata table specific to the tenant, the metadata table storing the derived metadata describing the tenant specific data; receiving by the database system a query for retrieving at least a portion of the tenant specific data included in the data table for a first one of the tenants; in response to the received query, retrieving by the database system the stored metadata table specific to the first one of the tenants, wherein the metadata table is stored by the database system prior to the receipt of the query; processing the retrieved metadata table specific to the first one of the tenants to determine a particular retrieval path to be used for retrieving the at least a portion of the tenant specific data; generating a second query to include the retrieval path, such that the second query is customized for the tenant specific data of the first one of the tenants; and executing, in place of the query, the second query to retrieve the at least a portion of the tenant specific data.

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 US9275105B2 cover?
In embodiments, methods and systems for improving a query in a database system are provided. These method and system embodiments can enable greater contextual knowledge about the types and use of data in tables underlying a relational database to be employed to improve query efficiency. By employing contextual information, embodiments can provide improved queries and/or make recommendations to …
Who is the assignee on this patent?
Weissman Craig, Moellenhoff Dave, Wong Simon, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2453. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 01 2016 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).