Asynchronous search for big objects

US11615105B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11615105-B2
Application numberUS-201916442409-A
CountryUS
Kind codeB2
Filing dateJun 14, 2019
Priority dateNov 15, 2013
Publication dateMar 28, 2023
Grant dateMar 28, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Techniques and systems for completing a database query. A time to complete a synchronous query in response to receiving an original database query is estimated by a database management system provided by one or more computing devices. A synchronous database query corresponding to the original database query is performed with the database management system if the estimated time to complete the synchronous query is less than a pre-selected threshold time. One or more asynchronous queries corresponding to the original database query are performed with the database management system if the estimated time to complete the synchronous query is greater than the pre-selected threshold time. A result, whether from a synchronous query or one or more asynchronous queries, is stored in an object within a non-relational database system.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: receiving, by one or more servers, an original database query in a query language targeted to a relational database system; estimating, by the one or more servers, a time to complete a non-relational database query corresponding to the original database query; determining, by the one or more servers, whether the estimated time is less than a pre-defined threshold; performing, by the one or more servers in real-time, at least one database query corresponding to at least a first part of the original database query on a non-relational database using a query language targeted to the non-relational database for data in the non-relational database either synchronously or asynchronously according to a result of whether the estimated time is less than a pre-defined threshold, wherein the at least one database query is performed synchronously if the estimated time is less than the predefined threshold; obtaining a result of performing the at least one query; and providing the result responsive to the original database query. 2. The method of claim 1 , further comprising: storing the result in an object. 3. The method of claim 1 , wherein the at least one database query is performed on the non-relational database as a set of parallel scans. 4. The method of claim 1 , wherein the at least one database query is performed on the non-relational database as a set of non-parallel scans where at least onescan is performed not in parallel with other scans. 5. The method of claim 1 , wherein the original database query isdirected to data stored in both a relational database system and the non-relational database system. 6. The method of claim 5 , wherein the relational database system and the non-relational database system are both part of a multitenant on-demand servicesenvironment. 7. A system, comprising: one or more processors; a database system configurable to cause via the one or more processors: obtaining an original database query in a query language targeted to a relational database system; estimating a time to complete a non-relational database query corresponding to the original database query; determining whether the estimated time is less than a pre-defined threshold; performing, in real-time, at least one database query corresponding to at least a first part of the original database query on a non-relational database using a query language targeted to the non-relational database for data in the non-relational database either synchronously or asynchronously according to a result of whether the estimated time is less than a pre-defined threshold, wherein the at least one database query is performed synchronously if the estimated time is less than the predefined threshold; obtaining a result of performing the at least one query; and providing the result responsive to the original database query. 8. The system of claim 7 , the database system further configurable to cause: storing the result in an object. 9. The system of claim 7 , wherein the at least one database query isperformed on the non-relational database as a set of parallel scans. 10. The system of claim 7 , wherein the at least one database query is performed on the non-relational database as a set of non-parallel scans where at least onescan is performed not in parallel with other scans. 11. The system of claim 7 , wherein the original database query is directed to data stored in both a relational database system and the non-relational database system. 12. The system of claim 11 , wherein the relational database system and the non-relational database system are both part of a multitenant on-demand servicesenvironment. 13. 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: obtain an original database query in a query language targeted to a relational database system; estimate a time to complete a non-relational database query corresponding to the original database query; determine whether the estimated time is less than a pre-defined threshold; perform, in real-time, at least one database query corresponding to at least a first part of the original database query on a non-relational database using a query language targeted to the non-relational database for data in the non-relational database either synchronously or asynchronously according to a result of whether the estimated time is less than a pre-defined threshold, wherein the at least one database query is performed synchronously if the estimated time is less than the predefined threshold; obtain a result of performing the at least one query; provide the result responsive to the original database query. 14. The non-transitory computer-readable medium of claim 13 , wherein the at least one database query is performed on the non-relational database as a set of parallel scans. 15. The non-transitory computer-readable medium of claim 13 , wherein the at least one database query is performed on the non-relational database as a set of non-parallel scans where at least one scan is performed not in parallel with other scans. 16. The non-transitory computer-readable medium of claim 13 , wherein the original database query is directed to data stored in both a relational databasesystem and the non-relational database system. 17. The non-transitory computer-readable medium of claim 16 , wherein the relational database system and the non-relational database system are both part of a multitenant on-demand services environment. 18. The non-transitory computer-readable medium of claim 13 , the relational database including data stored in a custom object. 19. The method of claim 1 , wherein the at least one database query is performed in real-time if the estimate time is less than the predefined threshold. 20. The method of claim 1 , further comprising: if the estimated time is greater than the predefined threshold, generating two or more queries from the original database query, wherein performing that least one database query includes executing the two or more database queries asynchronously. 21. The system of claim 7 , the database system further configurable to cause: if the estimated time is less than the predefined threshold, performing the at least one database query in real-time synchronously.

Assignees

Inventors

Classifications

  • G06F16/284Primary

    Relational databases · CPC title

  • Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor · CPC title

  • G06F16/25Primary

    Integrating or interfacing systems involving database management systems · CPC title

  • in federated or virtual databases · CPC title

  • Data format conversion from or to a database · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11615105B2 cover?
Techniques and systems for completing a database query. A time to complete a synchronous query in response to receiving an original database query is estimated by a database management system provided by one or more computing devices. A synchronous database query corresponding to the original database query is performed with the database management system if the estimated time to complete the s…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/284. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).