Sorted Index Query Processing for Distinct Value Retrieval
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing datastore server systems face inefficiencies in processing complex queries due to the resource-intensive nature of large data volumes, particularly when using conventional relational database approaches that are incompatible with sorted indexes, which are optimized for speed and efficiency in data retrieval.
Innovation Solution
A method is implemented at a server system to efficiently process 'select distinct' queries by identifying and utilizing sorted index portions, where index entries are sorted in a predefined order, allowing for the retrieval and comparison of candidate value combinations to identify distinct property values satisfying requestor-specified filter criteria, thereby optimizing query processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional relational database approaches are used to process complex queries, then query processing can be performed using standard methods, but resource consumption increases significantly due to large data volumes
Solution Approach 1:
The patent divides the index into multiple sorted index portions (e.g., by entity type, property, or value ranges) and processes queries by identifying and retrieving only the relevant index portions that contain distinct value combinations matching the query criteria, rather than scanning the entire index or underlying data storage
Solution Approach 2:
The patent pre-sorts index entries into organized index portions based on entity properties and relationships before query execution. This preliminary organization allows the system to quickly locate and retrieve only the necessary index portions containing distinct value combinations, avoiding the need to process large volumes of unorganized data during query execution
2Speed
If sorted indexes are used to improve data retrieval speed, then search efficiency increases, but compatibility with conventional relational database query processing methods decreases
Solution Approach 1:
The patent creates a query processing mechanism that can handle multiple types of queries (SELECT DISTINCT, aggregate functions, filtering operations) using the same sorted index structure. The system identifies relevant index portions and processes various query types by traversing and comparing values within those portions, making the sorted index approach versatile across different query scenarios while maintaining high retrieval speed
3Measurement precision
If the entire index is traversed to identify distinct value combinations, then complete results are obtained, but processing time increases due to unnecessary index entries
Solution Approach 1:
The patent extracts and retrieves only the specific index portions that contain distinct value combinations matching the query criteria, rather than traversing the entire index. By identifying and isolating the relevant portions based on query filters and sorting criteria, the system obtains complete and accurate results while minimizing processing time by excluding unnecessary index entries from the traversal
Data Source
AI summary
A server system having one or more processors and memory receives, from a requestor, a select distinct query. In response to the query, the server system identifies a set of index portions according to requestor-specified filter criteria. The server system identifies one or more distinct value combinations for entities satisfying the filter criteria, including: obtaining an initial value of a query cursor; retrieving candidate value combinations; comparing candidate value combinations to identify distinct value combinations, if any, in accordance with the query; and updating the current value of the query cursor. The server system repeats the retrieving candidate value combinations and the comparing candidate value combinations one or more times for the set of index portions until at least a respective distinct value combination has been identified and transmits information corresponding to the respective distinct value combination to the requestor.


