IP Library Granted Patent US 11,392,599
Granted Patent B2
US 11,392,599 · App. 16/883,810 · Granted Jul 19, 2022

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

Inventors: Jonathan Bruce (San Rafael, CA); Eli Levine (San Francisco, CA); Simon Toens (San Francisco, CA); James Taylor (San Francisco, CA)
Assignee: salesforce.com, Inc.
G06F16/2471G06F16/20G06F16/245G06F16/25G06F16/258G06F16/27G06F16/284G06F16/18G06F16/21G06F16/211G06F16/214G06F16/217G06F16/219G06F16/256G06F16/289
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,392,599
App. No.
16/883,810
Granted
Jul 19, 2022
Kind
B2
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 (37)

1. A system, comprising:

a database system implemented using a server system, the database system configurable to cause:

processing a database query received from a computing device, the database query being in a format corresponding to a relational database system;

parsing the database query with one or more servers to find one or more components of the database query directed to data stored in a non-relational database system;

converting the one or more components of the database 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, with the one or more servers, scan ranges for the non-relational database system to limit access for each entity to data in the non-relational database system corresponding to that entity;

collecting results from the database query of the relational database system and results from the one or more scans of the non-relational database systems;

combining the results from the database query and the results of the one or more scans to generate a combined result; and

providing the combined result to the computing device.

2. The system of claim 1 , the database system being implemented in a multitenant on-demand services environment.

3. The system of claim 2 , wherein the multitenant on-demand services 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 , the at least one non-relational database system providing 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 one or more servers, the database query being in a format corresponding to a relational database system;

parsing the database query with the one or more servers to find one or more components of the database query directed to data stored in a non-relational database system;

converting, with the one or more servers, the one or more components of the database 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, with the one or more servers, scan ranges for the non-relational database system to limit access for each entity to data in the non-relational database system corresponding to that entity;

collecting, with the one or more servers, results from the database query of the relational database system and results from the one or more scans of the non-relational database system;

combining, with the one or more servers, the results from the database query and the results of the one or more scans to generate a combined result; and

providing, with the one or more servers, the combined result to a client entity.

7. The method of claim 6 , database system being implemented in a multitenant on-demand services environment.

8. The method of claim 7 , wherein the multitenant on-demand services 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 , the at least one non-relational database system providing 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:

process a database query received from a computing device, the database query being in a format corresponding to a relational database system;

parse the database query to find one or more components of the database query directed to data stored in a non-relational database system;

convert, the one or more components of the database 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 system to limit access for each entity to data in the non-relational database system corresponding to that entity;

collect results from the database 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 database query and the results of the one or more scans to generate a combined result; and

provide the combined result to the computing device.

12. The non-transitory computer-readable medium of claim 11 , a database system being implemented in a multitenant on-demand services environment.

13. The non-transitory computer readable medium of claim 12 , wherein the multitenant on-demand services 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 , the at least one non-relational database system providing the ability to run one or more tenant-specific tables that use a single common physical non-relational databasetable.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0499 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 22, 2022
From: BRUCE, JONATHAN; LEVINE, ELI; TOENS, SIMON; TAYLOR, JAMES
To: SALESFORCE.COM, INC.
Reel/Frame 059344/0113 →
Continuity (8)
Continuation 16112538 · Aug 24, 2018
Continuation 14542348 · Nov 14, 2014
Provisional Application 61905457 · Nov 18, 2013
Provisional Application 61905460 · Nov 18, 2013
Provisional Application 61905439 · Nov 18, 2013
Provisional Application 61904822 · Nov 15, 2013
Provisional Application 61904826 · Nov 15, 2013
Related Publication 20210011911A1 · Jan 14, 2021