Methods and systems for providing multiple column custom indexes in a multi-tenant database environment
First Claim
1. A database system-implemented method for providing custom indexes in a multi-tenant database environment, the method comprising:
- reducing, by a custom index computing device, sorting and scanning operations involving data columns and rows during query executions for multiple tenants within the multi-tenant database environment using a multi-tenant data structure having a primary table, wherein the multi-tenant database environment includes the custom index computing device having one or more processing devices and associated memory devices, and a multi-tenant database system coupled to the custom index computing device, wherein the multi-tenant database system includes one or more database storing the multi-tenant data structure and having data resources shared by the multiple tenants, wherein reducing comprises;
maintaining, by the custom index computing device, a first column and a second column in the primary table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes defining a first data field for a first data type associated with the first column, and a second data field for a second data type associated with the second column, wherein the first column corresponds to first data of the first data type corresponding to a first tenant of multiple tenants within the multi-tenant environment, wherein the second column corresponds to second data of the second data type corresponding to a second tenant of the multiple tenants;
maintaining, by the custom index computing device, custom fields in the custom field table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes assigning tenant-defined indexing to the custom fields such that the custom fields offer tenant-defined indexing of the first and second data persisting in the database;
maintaining, by the custom index computing device, the index table separate from and associated with the primary table, wherein maintaining includes assigning a tenant identifier of the first tenant and a second tenant identifier of the second tenant to the index table, wherein the first tenant identifier and the second tenant identifier correspond to the first column and the second column, respectively, of the primary table;
sorting, by the custom index computing device, the index table based on the first column and the second column of the primary table, and the custom fields of the custom field table; and
causing, by the custom index computing device, the sorted index table to be stored at one or more of the associated memory devices, wherein the key comprises a primary key, wherein the tenant-defined indexing of the data includes tenant-based designation for types of the data to be held by one or more of the custom fields or one or more of the data columns such that an entire data column is capable of representing a single data type, where the single data type includes one or more of a prefix, a suffix, a customer identification, a name, and a title.
1 Assignment
0 Petitions
Accused Products
Abstract
In accordance with embodiments, there are provided methods and systems for providing multiple column custom indexes in a multi-tenant database environment. A method embodiment provides defining a multi-tenant data structure having a plurality of data columns data fields and a plurality of rows for each of multiple tenants, each row including a data column for a tenant identifier, defining a first data field for a tenant, the first data field having a first data type, defining a second data field for the tenant, the second field having a second data type, and defining an index table including a tenant identifier for the tenant, a copy of data from the first data field and the second data field, and a key to the corresponding rows of the multi-tenant data structure.
-
Citations
20 Claims
-
1. A database system-implemented method for providing custom indexes in a multi-tenant database environment, the method comprising:
-
reducing, by a custom index computing device, sorting and scanning operations involving data columns and rows during query executions for multiple tenants within the multi-tenant database environment using a multi-tenant data structure having a primary table, wherein the multi-tenant database environment includes the custom index computing device having one or more processing devices and associated memory devices, and a multi-tenant database system coupled to the custom index computing device, wherein the multi-tenant database system includes one or more database storing the multi-tenant data structure and having data resources shared by the multiple tenants, wherein reducing comprises; maintaining, by the custom index computing device, a first column and a second column in the primary table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes defining a first data field for a first data type associated with the first column, and a second data field for a second data type associated with the second column, wherein the first column corresponds to first data of the first data type corresponding to a first tenant of multiple tenants within the multi-tenant environment, wherein the second column corresponds to second data of the second data type corresponding to a second tenant of the multiple tenants; maintaining, by the custom index computing device, custom fields in the custom field table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes assigning tenant-defined indexing to the custom fields such that the custom fields offer tenant-defined indexing of the first and second data persisting in the database; maintaining, by the custom index computing device, the index table separate from and associated with the primary table, wherein maintaining includes assigning a tenant identifier of the first tenant and a second tenant identifier of the second tenant to the index table, wherein the first tenant identifier and the second tenant identifier correspond to the first column and the second column, respectively, of the primary table; sorting, by the custom index computing device, the index table based on the first column and the second column of the primary table, and the custom fields of the custom field table; and causing, by the custom index computing device, the sorted index table to be stored at one or more of the associated memory devices, wherein the key comprises a primary key, wherein the tenant-defined indexing of the data includes tenant-based designation for types of the data to be held by one or more of the custom fields or one or more of the data columns such that an entire data column is capable of representing a single data type, where the single data type includes one or more of a prefix, a suffix, a customer identification, a name, and a title. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 13, 14, 15)
-
-
9. A non-transitory machine-readable medium having stored thereon instructions when executed by a processing device, cause the processing device to perform operations comprising:
-
reducing sorting and scanning operations involving data columns and rows during query executions for multiple tenants within a multi-tenant database environment using a multi-tenant data structure having a primary table, wherein the multi-tenant database environment includes the custom index computing device having one or more processing devices and associated memory devices and a multi-tenant database system coupled to the custom index computing device, wherein the multi-tenant database system includes one or more database storing the multi-tenant data structure and having data resources shared by the multiple tenants, wherein reducing comprises; maintaining a first column and a second column in the primary table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes defining a first data field for a first data type associated with the first column, and a second data field for a second data type associated with the second column, wherein the first column corresponds to first data of the first data type corresponding to a first tenant of multiple tenants within the multi-tenant, wherein the second column corresponds to second data of the second data type corresponding to a second tenant of the multiple tenants; maintaining custom fields in the custom field table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes assigning tenant-defined indexing to the custom fields such that the custom fields offer tenant-defined indexing of the first and second data persisting in the database; maintaining the index table for each tenant separate from and associated with the primary table, wherein maintaining includes assigning a tenant identifier of the first tenant and a second tenant identifier of the second tenant to the index table, wherein the first tenant identifier and the second tenant identifier correspond to the first column and the second column, respectively, of the primary table; sorting the index table based on the first column and the second column of the primary table and the custom fields of the custom field table; and causing the sorted index table to be stored at one or more of the associated memory devices, wherein the key comprises a primary key, wherein the tenant-defined indexing of the data includes tenant-based designation for types of the data to be held by one or more of the custom fields or one or more of the data columns such that an entire data column is capable of representing a single data type, where the single data type includes one or more of a prefix, a suffix, a customer identification, a name, and a title. - View Dependent Claims (10, 11, 12, 16)
-
-
17. A database system for providing custom indexes in a multi-tenant database environment having a custom index computing device having one or more processing devices and associated memory devices, the one or more processing devices to perform operations comprising:
-
reducing sorting and scanning operations involving data columns and rows during query executions for multiple tenants within a multi-tenant database environment using a multi-tenant data structure having a primary table, a custom field table, and an index table, wherein the multi-tenant database environment includes the custom index computing device having one or more processing devices and associated memory devices, and a multi-tenant database system coupled to the custom index computing device, wherein the multi-tenant database system includes one or more databases storing the multi-tenant data structure and having resources shared by the multiple tenants, wherein reducing comprises; maintaining a first column and a second column in the primary table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes defining a first data field for a first data type associated with the first column, and a second data field for a second data type associated with the second column, wherein the first column corresponds to first data of the first data type corresponding to a first tenant of multiple tenants within the multi-tenant, wherein the second column corresponds to second data of the second data type corresponding to a second tenant of the multiple tenants; maintaining a second column in the custom field table of the multi-tenant data structure stored at the multi-tenant database system, wherein maintaining includes assigning tenant-defined indexing to the custom fields such that the custom fields offer tenant-defined indexing of the first and second data persisting in the database; maintaining the index table for each tenant separate from and associated with the primary table, wherein maintaining includes assigning a tenant identifier of the first tenant and a second tenant identifier of the second tenant to the index table, wherein the first tenant identifier and the second tenant identifier correspond to the first column and the second column, respectively, of the primary table; sorting the index table based on the first column and the second column of the primary table and the custom fields of the custom field table; and causing the sorted index table to be stored at one or more of the associated memory devices, wherein the key comprises a primary key, wherein one of the first data field and the second data field indicates a time, wherein the index table further comprises an index field, wherein the tenant-defined indexing of the data includes tenant-based designation for types of the data to be held by one or more of the custom fields or one or more of the data columns such that an entire data column is capable of representing a single data type, where the single data type includes one or more of a prefix, a suffix, a customer identification, a name, and a title. - View Dependent Claims (18, 19, 20)
-
Specification