Routing SQL Statements to Elastic Compute Nodes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed database systems lack flexibility in controlling workload distribution, particularly in routing SQL statements to the most efficient nodes, leading to inefficiencies and potential congestion.
Innovation Solution
Implementing workload classes to route SQL statements to elastic compute nodes, which do not store persistent database tables, by defining mappings and routing location hints based on statement properties, allowing for efficient distribution of compute-intensive and non-compute-intensive workloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If SQL statements are routed based on data affinity to worker nodes storing persistent database tables, then data access efficiency is improved, but workload distribution flexibility deteriorates
Solution Approach 1:
The patent segments the database system into two distinct node types: worker nodes that store persistent database tables and elastic compute nodes that provide flexible compute capacity. SQL statements are segmented into different workload classes (compute-intensive vs. non-compute-intensive) and routed to appropriate node types, allowing simultaneous optimization for data access and workload distribution flexibility
Solution Approach 2:
The patent introduces an intermediary routing mechanism that classifies SQL statements into workload classes and directs them to appropriate node types. This intermediary layer (the routing system with workload class classification) decouples the direct mapping between data location and query execution, enabling flexible workload distribution while maintaining efficient data access through coordinated routing
2Productivity
If client-side statement routing caches worker node locations for automatic routing, then routing efficiency is improved, but workload distribution control flexibility deteriorates
Solution Approach 1:
The patent implements dynamic routing where the system can adapt routing decisions based on workload class classification. Unlike static client-side caching, the system dynamically determines whether to route to worker nodes or elastic compute nodes based on the compute-intensive nature of the workload, allowing flexibility while maintaining efficiency through intelligent dynamic decision-making
3Adaptability or versatility
If elastic compute nodes are introduced for flexible workload routing, then workload distribution flexibility is improved, but system complexity deteriorates
Solution Approach 1:
The patent makes worker nodes multi-functional by enabling them to handle both persistent data storage and compute-intensive workloads through workload class-based routing. This universality reduces the need for entirely separate elastic compute infrastructure, as worker nodes can dynamically accommodate different workload types, thereby reducing overall system complexity while maintaining flexibility
Data Source
AI summary
Technologies are described for routing structured query language (SQL) statements to elastic compute nodes (ECNs) using workload classes within a distributed database environment. The elastic compute nodes do not store persistent database tables. For example, a SQL statement can be received for execution within the distributed database environment. A workload class can be identified that matches properties of the SQL statement. Based on the workload class, a routing location hint can be obtained that identifies a set of elastic compute nodes. The SQL statement can then be routed to one of the identified elastic compute nodes for execution. Execution of the SQL statement at the elastic compute node can involve retrieving database data from other nodes which store persistent database tables.


