SQL to NoSQL Query Translation via Parallel Scans

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database management systems face challenges in efficiently querying non-Structured Query Language (NoSQL) databases using Structured Query Language (SQL) commands, particularly in multi-tenant environments, where low latency and high performance are required for analytic-type queries over large data sets.

Innovation Solution

The technique transforms SQL queries into parallel scans for NoSQL databases, such as Apache HBase, using a JAVA Database Connectivity (JDBC) driver, allowing for low-latency execution and data aggregation, hidden behind a JDBC driver, and utilizing a query agent to translate SQL queries into native NoSQL store APIs for efficient data management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If SQL commands are used to query NoSQL databases, then ease of operation is improved, but device complexity increases

Engineering Contradiction:
Improveease of queryingVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

A translation layer is introduced between SQL query interfaces and NoSQL database engines. This intermediary component translates SQL queries into native NoSQL query formats, enabling SQL commands to query NoSQL databases without directly increasing the complexity of the NoSQL engine itself. The translation layer handles the complexity of query conversion while preserving the simplicity of the underlying database systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system provides a universal query interface that supports both SQL and NoSQL operations through a single JDBC driver. This multi-functional approach allows the same interface to handle different query types and database operations, improving ease of operation while consolidating complexity management in a unified translation layer rather than分散 across multiple systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Productivity

If SQL queries are transformed into parallel scans for NoSQL databases, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improvequery execution speedVSAvoidquery transformation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

SQL queries are segmented into multiple parallel scan operations that can be executed concurrently on distributed NoSQL database nodes. The translation layer divides complex SQL queries into smaller, independent scan tasks that run in parallel, improving productivity through concurrent execution while managing transformation complexity through systematic query decomposition rules.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The query translation system dynamically adapts SQL queries to the specific characteristics of the target NoSQL database and available data distribution. It dynamically determines optimal parallel scan strategies based on query characteristics, data location, and system state, improving execution speed while using heuristics to manage transformation complexity without requiring exhaustive analysis.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If a translation layer is introduced between SQL and NoSQL, then adaptability is improved, but device complexity increases

Engineering Contradiction:
Improvedatabase compatibilityVSAvoidtranslation layer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The translation layer serves as an adaptable intermediary that can handle multiple SQL and NoSQL variants. By positioning this translation component between the query interface and database engine, the system gains flexibility to support different database types and query formats without modifying the core database systems, managing adaptability complexity in a dedicated translation layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The translation layer adapts to different database systems by changing translation parameters and rules based on the target NoSQL database type. It dynamically adjusts query transformation strategies according to database-specific characteristics, improving adaptability while using parameterized translation rules to manage complexity systematically rather than requiring separate translation logic for each database type.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11200232B2Querying a not only structured query language (NOSQL) database using structured query language (SQL) commands
Publication Date: 2021.12.14 SALESFORCE INC
  • US11200232B2 patent drawing
  • US11200232B2 patent drawing
  • US11200232B2 patent drawing

AI summary

Techniques for querying a Not-Only/Non Structured Query Language (NoSQL) database using Structure Query Language (SQL) commands. A SQL query is received. The SQL query is transformed into one or more non-relational database scans having associated row key ranges. The one or more non-relational database scans are executed in parallel for each row key range. The results from the parallel scans of the non-relational database are combined. The combined results are presented as results of the SQL query.