IP Library Granted Patent US 10,445,433
Granted Patent B2
US 10,445,433 · App. 14/697,617 · Granted Oct 15, 2019

Methods and systems of query engines and secondary indexes implemented in a distributed database

Inventors: Venkatachary Srinivasan (Sunnyvale, CA); Rajkumar Iyer (Bangalore, IN); Sunil Sayyaparaju (Bangalore, IN)
G06F17/30575G06F17/30327G06F17/30483G06F17/30864
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 10,445,433
App. No.
14/697,617
Filed
Apr 27, 2015
Granted
Oct 15, 2019
Kind
B2
Examiner
VY, HUNG T
Art Unit
2163
USPC
707/706
Abstract

In one embodiment, a computer-implemented method of a distributed database system included the step of providing a query processor to receive a query request and to chart out a query execution plan based on the query request. The method includes the step of providing a data generator to generate a digest list based on the query request, wherein the list of digests comprises each stream or filter applied in servicing the query request. The method includes the step of providing a query engine to obtain a digest list from a multiple-data source as a result of the query request and to filter the digest list. The method includes the step of providing a query worker to obtain the query request and process the query request based on a type of the query request. The method includes the step of providing one or more query worker threads to perform an asynchronous I/O operation for the query request.

Claims (26)

1. A computer-implemented method of a distributed database system comprising:

providing a query processor to receive a query request and to chart out a query execution plan based on the query request;

providing a data generator to generate a digest list based on the query request, wherein the list of digests comprises each stream or filter applied in servicing the query request;

providing a query engine to obtain a digest list from a multiple-data source as a result of the query request and to filter the digest list;

providing a query worker to obtain the query request and process the query request based on a type of the query request; and

providing one or more query worker threads to perform an asynchronous I/O operation for the query request, wherein the one or more query work threads run in parallel for a given query using an SSD-level parallelism attribute, and wherein a query worker thread comprises an event-based I/O thread.

2. The computer-implemented method of claim 1 , wherein the query request comprises a lookup operation or a stream user defined function.

3. The computer-implemented method of claim 1 , wherein the query engine creates an internal transaction which is then queued for execution for every digest in the digest list.

4. The computer-implemented method of claim 1 , wherein based on the query execution plan formulated by the query processor, a query execution step can invoke a query execution context.

5. The computer-implemented method of claim 4 , wherein the query execution plan allocates at least one system resource and a trigger submodule to perform work associated with the query request.

6. The computer-implemented method of claim 1 , wherein the query engine is implemented in a not-only structured query language (SQL) database.

7. The computer-implemented method of claim 1 , wherein the query engine is stateless.

8. The computer-implemented method of claim 1 , wherein a source used by the data generator can be a batch query, a scan query or a secondary index query, and wherein the data generator is implemented on a per query basis.

9. The computer-implemented method of claim 1 , wherein the lookup operation comprises a process that obtains at least relevant record from a database then returns the at least one relevant record to a client entity.

10. The computer-implemented method of claim 1 , wherein a query worker job is created based on a partition-core mapping in a multi-core system.

11. The computer-implemented method of claim 1 , wherein query worker threads are interleaved for higher SSD device utilization.

12. The computer-implemented method of claim 1 further comprising:

feeding the digest list into a global queue, wherein the global queue comprises a query request job queue, and for each query, one or more query request generators are implemented to increase parallelism and to track on the resource utilization.

13. A computerized-system comprising:

a processor;

a memory containing instructions when executed on the processor, causes the processor to perform operations that implement:

a query processor to receive a query request and to chart out a query execution plan based on the query request;

a data generator to generate a digest list based on the query request, wherein the list of digests comprises each stream or filter applied in servicing the query request;

a query engine to obtain a digest list from a multiple-data source as a result of the query request and to filter the digest list;

a query worker to obtain the query request and process the query request based on a type of the query request; and

one or more query worker threads to perform an asynchronous I/O operation for the query request, wherein the one or more query work threads run in parallel for a given query using an SSD-level parallelism attribute, and wherein a query worker thread comprises an event-based I/O thread.

Assignments (3)
SECURITY INTEREST Recorded Sep 4, 2024
From: AEROSPIKE, INC.
To: CANADIAN IMPERIAL BANK OF COMMERCE, AS ADMINISTRATIVE AGENT
Reel/Frame 068479/0616 →
RELEASE OF SECURITY INTEREST Recorded Aug 27, 2024
From: ACQUIOM AGENCY SERVICES LLC
To: AEROSPIKE, INC.
Reel/Frame 068408/0094 →
SECURITY INTEREST Recorded Dec 29, 2021
From: AEROSPIKE, INC.
To: ACQUIOM AGENCY SERVICES LLC
Reel/Frame 058502/0586 →
Continuity (2)
Provisional Application 61985051 · Apr 28, 2014
Related Publication 20150331910A1 · Nov 19, 2015