QUERY OPTIMIZATION IN A MULTI-TENANT DATABASE SYSTEM
First Claim
1. A method for managing a multi-tenant database system, the method comprising:
- providing access to data stored in a multi-tenant data structure, the multi-tenant data structure being implemented on a pool of computer servers, the multi-tenant data structure further being implemented by;
storing data for multiple tenants in the multi-tenant data structure;
defining the multi-tenant data structure to have a plurality of data columns and one or more index columns;
defining a first data field for a first tenant of the multi-tenant data structure, the first field indicating a first data type;
defining a second data field for a second tenant of the multi-tenant data structure, the second field indicating a second data type, wherein the second data type is different than the first data type;
when records having data values in the first and second fields are created by the first and second tenants, storing the data values of first and second fields to a single column in the data structure, wherein the single column includes data values having different data types for different tenants in the multi-tenant data structure;
receiving one or more requests to access data in the multi-tenant data structure;
monitoring operations of the pool of servers; and
distributing the one or more requests to access the multi-tenant data structure among the pool of computer servers in response to the monitored operations.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention provides techniques for managing a multi-tenant database system. In one embodiment the method includes providing access to data stored in a multi-tenant data structure that is implemented by storing data for multiple tenants on a pool of computer servers defining the multi-tenant data structure that having a plurality of data columns and one or more index columns. The one or more index columns define a first data field for a first tenant of the multi-tenant data structure and a second data field for a second tenant of the multi-tenant data structure. The first field indicates a first data type and the second field indicates a second data type, wherein the second data type is different than the first data type. Once created, records having data values in the first and second fields are stored to a single column in the data structure. The single column includes data values having different data types for different tenants in the multi-tenant data structure. Operations are monitored so that one or more requests to access the multi-tenant data structure among are distributing the pool of computer servers to maintain load balancing among the servers of the pool.
149 Citations
19 Claims
-
1. A method for managing a multi-tenant database system, the method comprising:
-
providing access to data stored in a multi-tenant data structure, the multi-tenant data structure being implemented on a pool of computer servers, the multi-tenant data structure further being implemented by; storing data for multiple tenants in the multi-tenant data structure; defining the multi-tenant data structure to have a plurality of data columns and one or more index columns; defining a first data field for a first tenant of the multi-tenant data structure, the first field indicating a first data type; defining a second data field for a second tenant of the multi-tenant data structure, the second field indicating a second data type, wherein the second data type is different than the first data type; when records having data values in the first and second fields are created by the first and second tenants, storing the data values of first and second fields to a single column in the data structure, wherein the single column includes data values having different data types for different tenants in the multi-tenant data structure; receiving one or more requests to access data in the multi-tenant data structure; monitoring operations of the pool of servers; and distributing the one or more requests to access the multi-tenant data structure among the pool of computer servers in response to the monitored operations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A machine-readable medium carrying one or more sequences of instructions for managing a multi-tenant database system when executed by one or more processors and cause the one or more processors to carry out steps of:
-
providing access to data stored in a multi-tenant data structure, the multi-tenant data structure being implemented on a pool of computer servers, the multi-tenant data structure further being implemented by; storing data for multiple tenants in the multi-tenant data structure; defining the multi-tenant data structure to have a plurality of data columns and one or more index columns; defining a first data field for a first tenant of the multi-tenant data structure, the first field indicating a first data type; defining a second data field for a second tenant of the multi-tenant data structure, the second field indicating a second data type, wherein the second data type is different than the first data type; when records having data values in the first and second fields are created by the first and second tenants, storing the data values of first and second fields to a single column in the data structure, wherein the single column includes data values having different data types for different tenants in the multi-tenant data structure; receiving one or more requests to access data in the multi-tenant data structure; monitoring operations of the pool of servers; and distributing the one or more requests to access the multi-tenant data structure among the pool of computer servers in response to the monitored operations. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A multi-tenant database system comprising:
-
a pool of servers, each have a processor; and a memory space in data communication with the pool of servers and having a sequence of instructions which, when executed by the processor, cause the processor to carry out the steps of; providing access to data stored in a multi-tenant data structure, the multi-tenant data structure being implemented on the pool of computer servers, the multi-tenant data structure further being implemented by; storing data for multiple tenants in the multi-tenant data structure; defining the multi-tenant data structure to have a plurality of data columns and one or more index columns; defining a first data field for a first tenant of the multi-tenant data structure, the first field indicating a first data type; defining a second data field for a second tenant of the multi-tenant data structure, the second field indicating a second data type, wherein the second data type is different than the first data type; when records having data values in the first and second fields are created by the first and second tenants, storing the data values of first and second fields to a single column in the data structure, wherein the single column includes data values having different data types for different tenants in the multi-tenant data structure; receiving one or more requests to access data in the multi-tenant data structure; monitoring operations of the pool of servers; and distributing the one or more requests to access the multi-tenant data structure among the pool of computer servers in response to the monitored operations. - View Dependent Claims (15, 16, 17, 18, 19)
-
Specification