IP Library Granted Patent US 11,314,741
Granted Patent B2
US 11,314,741 · App. 16/134,860 · Granted Apr 26, 2022

Metadata-based statistics-oriented processing of queries in an on-demand environment

Inventors: Cody Marcel (Denver, CO); Sahil Ramrakhyani (San Francisco, CA); Saikiran Perumala (San Francisco, CA); Brian Esserlieu (Walnut Creek, CA); Seshank Kalvala (San Francisco, CA)
Assignee: salesforce.com, Inc.
G06F16/24545G06F16/2453G06F16/24564G06F16/283
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,314,741
App. No.
16/134,860
Granted
Apr 26, 2022
Kind
B2
Abstract

In accordance with embodiments, there are provided mechanisms and methods for facilitating metadata-based statistics-oriented query processing for large datasets in an on-demand services environment. In one embodiment and by way of example, a method comprises evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment, and computing process statistics for the query based on the metadata, where the process statistics reveal an estimation of resources needed for execution of the query within a predictable amount of time and using fewer than or equal to an allocated number of scans of a database. The method may further include associating, based on the process statistics, a set of rules and the estimated resources to process the query, and executing the query based on the set of rules and using the estimated resources such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated number of scans of the database.

Claims (24)

1. A method comprising: evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment; computing processing statistics for the query based on the metadata, wherein the processing statistics to identify a maximum number of scans of a database allocated to the query for gathering of data in processing of the query, wherein computing includes estimating a predictable amount of time for processing of the query using fewer than or equal to the allocated maximum number of scans of the database, wherein the allocated maximum number of scans is based on an estimated number of bytes based on a predetermined threshold of bytes to scan the query within the predictable amount of time based on the processing statistics, wherein the query is performed within the predictable amount of time when the estimated number of bytes is less than or equal to the predetermined threshold of bytes, wherein the processing statistics to identify one or more portions of the database subjects to the maximum number of scans without scanning other portions of the database; generating, based on the processing statistics, one or more processing rules, wherein the one or more processing rules are assigned to the query; and processing the query based on the assigned one or more rules such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated maximum number of scans of the database.

2. The method of claim 1 , further comprising:

generating results based on processing of the query;

transmitting the results to a client computing device over a communication network, wherein the query is received from the client computing device.

3. The method of claim 1 , further comprising collecting the metadata from the client computing device, wherein the metadata contains information revealing one or more characteristics of the query.

4. The method of claim 1 , wherein the processing statistics to further identify one or more portions of the database having contents pertinent to the query.

5. The method of claim 4 , further comprising accessing the one or more portions of the database without having to scan or access scanning or accessing other portions of the database.

6. The method of claim 1 , wherein the results are further generated based on efficient classes associated with the query and without having to access or process inefficient classes.

7. A database system comprising: a server computing device having a data processing device coupled to a memory, the data processing device to facilitate operations comprising: evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment; computing processing statistics for the query based on the metadata, wherein the processing statistics to identify a maximum number of scans of a database allocated to the query for gathering of data in processing of the query, wherein computing includes estimating a predictable amount of time for processing of the query using fewer than or equal to the allocated maximum number of scans of the database, wherein the allocated maximum number of scans is based on an estimated number of bytes based on a predetermined threshold of bytes to scan the query within the predictable amount of time based on the processing statistics, wherein the query is performed within the predictable amount of time when the estimated number of bytes is less than or equal to the predetermined threshold of bytes, wherein the processing statistics to identify one or more portions of the database subjects to the maximum number of scans without scanning other portions of the database; generating, based on the processing statistics, one or more processing rules, wherein the one or more processing rules are assigned to the query; and processing the query based on the assigned one or more rules such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated maximum number of scans of the database.

8. The system of claim 7 , wherein the operations further comprise:

generating results based on processing of the query;

transmitting the results to a client computing device over a communication network, wherein the query is received from the client computing device.

9. The system of claim 7 , wherein the operations further comprise collecting the metadata from the client computing device, wherein the metadata contains information revealing one or more characteristics of the query.

10. The system of claim 7 , wherein the processing statistics to further identify one or more portions of the database having contents pertinent to the query.

11. The system of claim 10 , wherein the operations further comprise accessing the one or more portions of the database without having to scan or access other portions of the database.

12. The system of claim 7 , wherein the results are further generated based on efficient classes associated with the query and without having to access or process inefficient classes.

13. A non-transitory computer-readable medium having stored thereon instructions which, when executed, cause a computing device to perform operations comprising: evaluating metadata associated with a query placed on behalf of a tenant in a multi-tenant environment; computing processing statistics for the query based on the metadata, wherein the processing statistics to identify a maximum number of scans of a database allocated to the query for gathering of data in processing of the query, wherein computing includes estimating a predictable amount of time for processing of the query using fewer than or equal to the allocated maximum number of scans of the database, wherein the allocated maximum number of scans is based on an estimated number of bytes based on a predetermined threshold of bytes to scan the query within the predictable amount of time based on the processing statistics, wherein the query is performed within the predictable amount of time when the estimated number of bytes is less than or equal to the predetermined threshold of bytes, wherein the processing statistics to identify one or more portions of the database subjects to the maximum number of scans without scanning other portions of the database; gathering, based on the processing statistics, one or more processing rules, wherein the one or more processing rules are assigned to the query; and processing the query based on the assigned one or more rules such that the query is processed within the predictable amount of time and using fewer than or equal to the allocated maximum number of scans of the database.

14. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

generating results based on processing of the query;

transmitting the results to a client computing device over a communication network, wherein the query is received from the client computing device.

15. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise collecting the metadata from the client computing device, wherein the metadata contains information revealing one or more characteristics of the query.

16. The non-transitory computer-readable medium of claim 13 , wherein the processing statistics to further identify one or more portions of the database having contents pertinent to the query.

17. The non-transitory computer-readable medium of claim 16 , wherein the operations further comprise accessing the one or more portions of the database without having to scan or access other portions of the database.

18. The non-transitory computer-readable medium of claim 13 , wherein the results are further generated based on efficient classes associated with the query and without having to access or process inefficient classes.

Assignments (2)
CHANGE OF NAME Recorded Dec 18, 2024
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 069717/0378 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: MARCEL, CODY; RAMRAKHYANI, SAHIL; PERUMALA, SAIKIRAN; ESSERLIEU, BRIAN; KALVALA, SESHANK
To: SALESFORCE.COM, INC.
Reel/Frame 047223/0296 →
Continuity (3)
Continuation In Part 15665529 · Aug 1, 2017
Provisional Application 62686604 · Jun 18, 2018
Related Publication 20190042622A1 · Feb 7, 2019
Cited By (3)
US 12,353,422 US 12,361,026 US 12,386,840