Systems and methods for reclaiming storage space in deduplicating data systems
US-9785643-B1 · Oct 10, 2017 · US
US11615105B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11615105-B2 |
| Application number | US-201916442409-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 14, 2019 |
| Priority date | Nov 15, 2013 |
| Publication date | Mar 28, 2023 |
| Grant date | Mar 28, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.