Query optimization in a multi-tenant database system
First Claim
1. A method in a Multitenant Database System, the method comprising:
- generating tenant-level statistics for each of a plurality of tenants having data stored within a database system of the Multitenant Database System, wherein the database system includes one or more data tables to store the data, each data table having one or more columns defining data categories and one or more rows associated with one or more tenants among the plurality of tenants having data stored within the data tables;
receiving communications from user systems over a network to request tenant-level data from the Multitenant Database System, the communications received at an interface of the Multitenant Database System;
generating one or more queries designed to access the information requested; and
optimizing the one or more queries based on the tenant-level statistics to increase system performance for an individual tenant among the plurality of tenants whose data is being searched.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides techniques for storing information on a multi-tenant database system to control query latency that includes a method that stores the information on the database among a plurality of tables arranged in columns and rows. For each of a subset of the plurality of tables, sets of the rows are distributed amongst different storage nodes on the database, with the set of rows stored at a common node having a common index value. Data storage and retrieval capabilities to the database are provided to allow access to the information, in response to requests from one of a plurality of remotely disposed computer systems. The retrieval capability includes a query condition that includes a query index value, with the query condition and the query index value being established to control retrieval latency. Also disclosed is a machine-readable medium carrying one or more sequences of instructions for storing information on a multi-tenant database system to control query latency when executed by one or more processors and cause the one or more processors to carry out steps of the method. A data center for storing information on a multi-tenant database system to control query latency is also disclosed that carries-out the functions of the method.
292 Citations
22 Claims
-
1. A method in a Multitenant Database System, the method comprising:
-
generating tenant-level statistics for each of a plurality of tenants having data stored within a database system of the Multitenant Database System, wherein the database system includes one or more data tables to store the data, each data table having one or more columns defining data categories and one or more rows associated with one or more tenants among the plurality of tenants having data stored within the data tables; receiving communications from user systems over a network to request tenant-level data from the Multitenant Database System, the communications received at an interface of the Multitenant Database System; generating one or more queries designed to access the information requested; and optimizing the one or more queries based on the tenant-level statistics to increase system performance for an individual tenant among the plurality of tenants whose data is being searched. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory medium storing program code that, when executed by a central processing unit of a Multitenant Database System, the program code causes the Multitenant Database System to perform operations including:
-
generating tenant-level statistics for each of a plurality of tenants having data stored within a database system of the Multitenant Database System, wherein the database system includes one or more data tables to store the data, each data table having one or more columns defining data categories and one or more rows associated with one or more tenants among the plurality of tenants having data stored within the data tables; receiving communications from user systems over a network to request tenant-level data from the Multitenant Database System, the communications received at an interface of the Multitenant Database System; generating one or more queries designed to access the information requested; and optimizing the one or more queries based on the tenant-level statistics to increase system performance for an individual tenant among the plurality of tenants whose data is being searched.
-
-
22. A Multitenant Database System, comprising:
-
a database system including one or more data tables to store data for a plurality of tenants, each data table having one or more columns defining data categories and one or more rows associated with one or more tenants among the plurality of tenants having data stored within the data tables; a statistics generating module to generate tenant-level statistics for each of the plurality of tenants having data stored within the database system of the Multitenant Database System; an interface to receive communications from user systems over a network requesting tenant-level data from the Multitenant Database System via one or more queries designed to access the information requested; and a query optimization module to execute in process space of the Multitenant Database System via a central processing unit, wherein the query optimization module is to optimize the one or more queries based on the tenant-level statistics to increase system performance for an individual tenant among the plurality of tenants whose data is being searched.
-
Specification