P
US10061823B2ActiveUtilityPatentIndex 82

Multi-tenancy for structured query language (SQL) and non structured query language (NoSQL) databases

Assignee: SALESFORCE COM INCPriority: Nov 15, 2013Filed: Nov 14, 2014Granted: Aug 28, 2018
Est. expiryNov 15, 2033(~7.4 yrs left)· nominal 20-yr term from priority
Inventors:BRUCE JONATHAN MARKLEVINE ELITOENS SIMONTAYLOR JAMES
G06F 16/256G06F 16/27G06F 16/258G06F 16/284G06F 16/25G06F 17/30566G06F 17/30424G06F 17/30575G06F 17/30595G06F 17/30607G06F 17/30545G06F 17/30569G06F 17/30557
82
PatentIndex Score
4
Cited by
151
References
15
Claims

Abstract

Techniques and structures for providing a multitenant environment having both a relational database and a non-relational database. A database query is received with at least one server computing device providing a multitenant environment having a relational database system and a non-relational database system, the database query in a format corresponding to the relational database system. The query is parsed with the at least one server computing device to find one or more components of the query directed to data stored in the non-relational database system. One or more components of the query directed to data stored in the non-relational database system are converted to one or more scans of the non-relational database system. Results from the query of the relational database system and results from the one or more scans of the non-relational database system are collected. The results from the query and the results of the one or more scans to a combined result are combined. The combined results are provided to a client entity.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system comprising:
 a group of one or more server computing devices configured to provide a multitenant service environment, wherein the multitenant environment stores data for multiple client entities each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, wherein users of each of multiple client entities can only access data identified by a tenant ID associated with the respective client entity, and wherein the multitenant environment is provided by an entity separate from the client entities, and provides on-demand service to the client entities; 
 at least one relational database system coupled with the one or more server computing devices, the at least one relational database system to provide data management services to tenants of the multitenant environment; 
 at least one non-relational database system coupled with the one or more server computing devices, the at least one non-relational database system to provide data management services to tenants of the multitenant environment, the non-relational database system to manage scan ranges for the non-relational database to limit access for each tenant to data in the non-relational database corresponding to that tenant, wherein a primary key constraint of a base table cannot be changed and indexes in separate shared tables can be added to a view; 
 a database search agent coupled with the at least one relational database system and with the at least one non-relational database system, the database search agent to receive a database query in a format corresponding to the relational database system, to parse the query to find one or more components of the query directed to data stored in the non-relational database system, to convert one or more components of the query directed to data stored in the non-relational database system to one or more scans of the non-relational database system wherein table metadata is utilized to provide use of correct schema in responding to the one or more scans, to collect results from the query of the relational database system and results from the one or more scans of the non-relational database system, to combine the results from the query and the results of the one or more scans to a combined result, and to provide the combined result to a client entity. 
 
     
     
       2. The system of  claim 1  wherein the multitenant environment comprises a multitenant on-demand services environment. 
     
     
       3. The system of  claim 2  wherein the multitenant on-demand service environment comprises at least a multitenant database environment. 
     
     
       4. The system of  claim 1  wherein data stored in the non-relational database is immutable. 
     
     
       5. The system of  claim 1  wherein the at least one non-relational database system to provide the ability to run one or more tenant-specific tables that use a single common physical non-relational database table. 
     
     
       6. A method comprising:
 receiving a database query with at least one server computing device providing a multitenant environment having a relational database system and a non-relational database system, the database query in a format corresponding to the relational database system; 
 parsing the query with the at least one server computing device to find one or more components of the query directed to data stored in the non-relational database system; 
 converting with the at least one server computing device, one or more components of the query directed to data stored in the non-relational database system to one or more scans of the non-relational database system wherein table metadata is utilized to provide use of correct schema in responding to the one or more scans; 
 managing scan ranges for the non-relational database to limit access for each tenant to data in the non-relational database corresponding to that tenant, wherein a primary key constraint of a base table cannot be changed and indexes in separate shared tables can be added to a view; 
 collecting results from the query of the relational database system and results from the one or more scans of the non-relational database system; 
 combining the results from the query and the results of the one or more scans to a combined result; and 
 providing the combined result to a client entity. 
 
     
     
       7. The method of  claim 6  wherein the multitenant environment comprises a multitenant on-demand services environment. 
     
     
       8. The method of  claim 7  wherein the multitenant on-demand service environment comprises at least a multitenant database environment. 
     
     
       9. The method of  claim 6  wherein data stored in the non-relational database is immutable. 
     
     
       10. The method of  claim 6  wherein the at least one non-relational database system to provide the ability to run one or more tenant-specific tables that use a single common physical non-relational database table. 
     
     
       11. A non-transitory computer-readable medium having stored thereon instructions that, when executed by one or more processors, cause the one or more processors to:
 receive a database query with at least one server computing device providing a multitenant environment having a relational database system and a non-relational database system, the database query in a format corresponding to the relational database system; 
 parse the query with the at least one server computing device to find one or more components of the query directed to data stored in the non-relational database system; 
 convert with the at least one server computing device, one or more components of the query directed to data stored in the non-relational database system to one or more scans of the non-relational database system wherein table metadata is utilized to provide use of correct schema in responding to the one or more scans; 
 manage scan ranges for the non-relational database to limit access for each tenant to data in the non-relational database corresponding to that tenant, wherein a primary key constraint of a base table cannot be changed and indexes in separate shared tables can be added to a view; 
 collect results from the query of the relational database system and results from the one or more scans of the non-relational database system; 
 combine the results from the query and the results of the one or more scans to a combined result; and 
 provide the combined result to a client entity. 
 
     
     
       12. The non-transitory computer-readable medium of  claim 11  wherein the multitenant environment comprises a multitenant on-demand services environment. 
     
     
       13. The non-transitory computer-readable medium of  claim 12  wherein the multitenant on-demand service environment comprises at least a multitenant database environment. 
     
     
       14. The non-transitory computer-readable medium of  claim 11  wherein data stored in the non-relational database is immutable. 
     
     
       15. The non-transitory computer-readable medium of  claim 11  wherein the at least one non-relational database system to provide the ability to run one or more tenant-specific tables that use a single common physical non-relational database table.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.