SYSTEM AND METHODS OF IMPROVING A MULTI-TENANT DATABASE QUERY USING CONTEXTUAL KNOWLEDGE ABOUT NON-HOMOGENEOUSLY DISTRIBUTED TENANT DATA
First Claim
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 adapted to be executed to implement a method of improving a query in a database, the method comprising:
- storing, in a database, tenant specific data for each of at least two tenants;
storing contextual information for each of the at least two tenants, the contextual information describing a characteristic of the tenant specific data stored for each of the at least two tenants, and the contextual information including permissions to perform a specific operation for each of the at least two tenants;
receiving a query directed to the database;
determining an improved query based at least in part upon the received query and the stored contextual information for a particular one of the at least two tenants to which the query is addressed, such that the improved query is customized for the tenant specific data specific to the particular one of the at least two tenants to which the query is addressed; and
providing, in place of the query, the improved query.
0 Assignments
0 Petitions
Accused Products
Abstract
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.
-
Citations
8 Claims
-
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 adapted to be executed to implement a method of improving a query in a database, the method comprising:
-
storing, in a database, tenant specific data for each of at least two tenants; storing contextual information for each of the at least two tenants, the contextual information describing a characteristic of the tenant specific data stored for each of the at least two tenants, and the contextual information including permissions to perform a specific operation for each of the at least two tenants; receiving a query directed to the database; determining an improved query based at least in part upon the received query and the stored contextual information for a particular one of the at least two tenants to which the query is addressed, such that the improved query is customized for the tenant specific data specific to the particular one of the at least two tenants to which the query is addressed; and providing, in place of the query, the improved query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A Method, comprising:
-
storing, in a database, tenant specific data for each of at least two tenants; storing contextual information for each of the at least two tenants, the contextual information describing a characteristic of the tenant specific data stored for each of the at least two tenants, and the contextual information including permissions to perform a specific operation for each of the at least two tenants; receiving a query directed to the database; determining an improved query based at least in part upon the received query and the stored contextual information for a particular one of the at least two tenants to which the query is addressed, such that the improved query is customized for the tenant specific data specific to the particular one of the at least two tenants to which the query is addressed; and providing, in place of the query, the improved query.
-
-
8. 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; storing, in a database, tenant specific data for each of at least two tenants; storing contextual information for each of the at least two tenants, the contextual information describing a characteristic of the tenant specific data stored for each of the at least two tenants, and the contextual information including permissions to perform a specific operation for each of the at least two tenants; receiving a query directed to the database; determining an improved query based at least in part upon the received query and the stored contextual information for a particular one of the at least two tenants to which the query is addressed, such that the improved query is customized for the tenant specific data specific to the particular one of the at least two tenants to which the query is addressed; and providing, in place of the query, the improved query.
-
Specification