Distributed SQL query processing using key-value storage system
First Claim
1. A distributed Standard Query Language (SQL) query processing system comprising:
- at least a computing device having a processora key-value server for storing a plurality of key-value objects, wherein each key-value object of the plurality of key-value objects includes a key comprising a container id concatenated with an object id;
a key-value library for processing an operation on one of the plurality of key-value objects;
an execution component for receiving an SQL query from an application and converting the SQL query into the operation for the key-value library to process; and
the application for issuing the SQL query to the execution component.
5 Assignments
0 Petitions
Accused Products
Abstract
Distributed storage systems support SQL while also providing scalability and fault tolerance by utilizing an SQL library (the SQL execution component) layered on top of a transactional key-value system (the storage component). The SQL library comprises a parser and an execution engine running at the client, while the storage component comprises a key-value system for storing the data. The SQL library parses SQL queries received from client applications and maps them to transactions on the key-value system. The key-value system stores data items identified by key and provides concurrency control mechanisms to handle concurrent transactions. The key-value system may be a distributed system with several storage servers, each attached to one or more storage devices.
-
Citations
19 Claims
-
1. A distributed Standard Query Language (SQL) query processing system comprising:
- at least a computing device having a processor
a key-value server for storing a plurality of key-value objects, wherein each key-value object of the plurality of key-value objects includes a key comprising a container id concatenated with an object id; a key-value library for processing an operation on one of the plurality of key-value objects; an execution component for receiving an SQL query from an application and converting the SQL query into the operation for the key-value library to process; and the application for issuing the SQL query to the execution component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- at least a computing device having a processor
-
10. A method for execution on a distributed Standard Query Language (SQL) query processing system, the method comprising:
-
receiving an SQL query at an execution component of a computing device; parsing and converting, at the execution component, the SQL query into a plurality of operations executable on a key-value system; forwarding the plurality of operations to a key-value server; storing a plurality of key-value objects at the key-value server, wherein each key-value object of the plurality of key-value objects includes a key comprising a container id concatenated with an object id; and processing an operation on one of the plurality of key-value objects. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-readable storage hardware device comprising computer-readable instructions for executing an Standard Query Language (SQL) query using a transactional key-value system, the computer-readable storage hardware device comprising instructions that cause a processor to:
-
parse and convert, at an execution component for receiving the SQL query from an application, the SQL query into a plurality of operations executable on the transactional key-value system; and map an SQL table to a plurality of key-value objects in the transactional key-value system, wherein each key-value object of the plurality of key-value objects includes a key comprising a container id concatenated with an object id. - View Dependent Claims (16, 17, 18, 19)
-
Specification