News Column

Researchers Submit Patent Application, "Distributed Sql Query Processing Using Key-Value Storage System", for Approval

July 8, 2014

By a News Reporter-Staff News Editor at Information Technology Newsweekly -- From Washington, D.C., VerticalNews journalists report that a patent application by the inventors Aguilera, Marcos K. (Mountain View, CA); Leners, Joshua (Austin, TX); Walfish, Michael (Austin, TX), filed on December 13, 2012, was made available online on June 26, 2014.

The patent's assignee is Microsoft Corporation.

News editors obtained the following quote from the background information supplied by the inventors: "Large-scale web-based applications may use a distributed storage system to store application data such as data about its users, customers, internal state, etc. Existing storage systems for web-based applications include both traditional database systems that generally feature use of the Standard Query Language (SQL) and 'NoSQL' storage systems that do not use SQL. SQL is a well-known and widely-used query interface featuring powerful functionality via use of a declarative language that is more concise than imperative programming languages, such that a few lines of SQL may equate to hundreds of lines of code used to implement the same functionality using a NoSQL system.

"In general, traditional database systems using SQL are difficult and expensive to scale because they utilize costly special hardware and/or have high overhead (e.g., expensive system administrators to partition data and tune performance). Over the past ten years, however, many companies that develop and utilize large-scale web applications have replaced traditional SQL database systems with specialized custom-built storage systems without SQL that feature better performance, better scalability, and reduced costs (both hardware and overhead). However, these 'NoSQL' storage systems provide only a subset of the functionality available in traditional SQL database systems. For example, NoSQL storage systems may lack joins, subqueries, secondary keys, aggregation, and other features offered by SQL.

"Consequently, web applications utilizing NoSQL storage systems that need this missing functionality must provide it themselves, which in turn increases the effort and cost of developing such applications for operation with NoSQL storage system. Furthermore, NoSQL storage systems generally feature custom interfaces and query languages that are specific to that storage system (i.e., are non-standard and ad-hoc); as a result, web applications developed to use one specific NoSQL system may not work with other NoSQL storage systems without significant changes being made to such web applications to make them compatible with the custom interface and query language featured by the other NoSQL storage system."

As a supplement to the background information on this patent application, VerticalNews correspondents also obtained the inventors' summary information for this patent application: "Various implementations disclosed herein are directed to storage systems that support SQL while also providing scalability and high fault tolerance. These implementations feature an SQL library (the SQL execution component) layered on top of a transactional key-value system (the data storage component). More specifically, the SQL library comprises a parser and an execution engine running at client machines, while the storage component comprises a one or more storage servers implementing a key-value system for storing the data. The client-side SQL library parses SQL queries received from client applications and maps these SQL queries to operations (e.g., transactions) on the key-value system that executes these operations to read and write data items identified by key (without any schemas). The key-value system supports transactions and further provides concurrency control mechanisms to handle concurrent transactions. The key-value system may be implemented using any of several techniques to provide scalability and fault tolerance. For several such implementations, the key-value system may be a distributed system with several storage servers each attached to one or more local storage devices.

"Some implementations are directed to a distributed SQL query processing system comprising a key-value server for storing key-value objects; at least one client that is communicatively coupled to the key-value server; a key-value library for processing an operation on one of the key-value objects; and an SQL library for receiving an SQL query from an application and converting the SQL query into a transaction for the key-value library to process.

"This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.


"The foregoing summary and the following detailed description of illustrative implementations are better understood when read in conjunction with the appended drawings. For the purpose of illustrating the implementations, there is shown in the drawings example constructions of the implementations; however, the implementations are not limited to the specific methods and instrumentalities disclosed. In the drawings:

"FIG. 1 is a block diagram illustrating an exemplary distributed SQL query processing system representative of various implementations disclosed herein;

"FIG. 2 is a block diagram illustrating an exemplary structure for the SQL library, key-value library, and key-value server of FIG. 1 utilized by various implementations herein disclosed;

"FIG. 3 is a process flow diagram of an exemplary method for executing SQL queries on a transactional key-value data storage system that may be utilized by the various implementations disclosed herein;

"FIG. 4 is a process flow diagram representative of an exemplary method that may be utilized by the various implementations disclosed herein for executing SQL queries that use intermediary results calculated and stored in temporary tables; and

"FIG. 5 is a block diagram of an example computing environment that may be used in conjunction with example implementations and aspects."

For additional information on this patent application, see: Aguilera, Marcos K.; Leners, Joshua; Walfish, Michael. Distributed Sql Query Processing Using Key-Value Storage System. Filed December 13, 2012 and posted June 26, 2014. Patent URL:

Keywords for this news article include: Microsoft Corporation, Information Technology, Information and Data Storage.

Our reports deliver fact-based news of research and discoveries from around the world. Copyright 2014, NewsRx LLC

For more stories covering the world of technology, please see HispanicBusiness' Tech Channel

Source: Information Technology Newsweekly

Story Tools Facebook Linkedin Twitter RSS Feed Email Alerts & Newsletters