NUMA-Aware Document Store Query Execution Plan
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems face challenges in efficiently processing queries across non-uniform memory access (NUMA) architectures, particularly in accessing and manipulating data across different database types, such as disk-based and in-memory databases, while managing transactions across these systems requires complex coordination.
Innovation Solution
A computing system with a NUMA architecture processes queries by determining required slices within a document store, generating an execution plan that assigns NUMA nodes for database operations, and executing these operations to efficiently provide data, allowing for single query access across various database types and managing transactions between different database systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If separate and distinct queries are used to access data within different database types, then data access is possible across varying database types, but query processing complexity and time increase
Solution Approach 1:
The patent combines multiple database types (relational, document, graph, key-value) into a single unified database system that can be accessed through a single query interface. The execution plan generator creates coordinated queries across different database types simultaneously, eliminating the need for separate queries and reducing processing time while maintaining versatility.
2Adaptability or versatility
If data is stored across multiple databases of varying types distributed amongst various computing nodes, then data storage capacity and flexibility increase, but transaction coordination complexity increases
Solution Approach 1:
The patent segments the database system into different database types (relational, document, graph, key-value) distributed across computing nodes, each optimized for specific data storage needs. The transaction coordinator divides transactions into sub-operations that can be executed independently on different nodes, then combines results, reducing coordination complexity while maintaining storage flexibility.
Solution Approach 2:
The execution plan generator acts as an intermediary that translates high-level transactions into coordinated operations across multiple database types. It generates execution plans that specify the sequence and coordination of operations on different nodes, simplifying transaction management while preserving distributed storage flexibility.
3Device complexity
If conventional memory access architectures are used, then system simplicity is maintained, but processing efficiency on multi-processor systems deteriorates
Solution Approach 1:
The patent implements NUMA-aware query execution that assigns database operations to specific NUMA nodes based on data location and processor affinity. Each NUMA node processes queries locally using its associated memory, reducing cross-node memory access latency and improving processing efficiency while maintaining a relatively simple underlying memory architecture.
Data Source
AI summary
Systems and methods are described for implementation by a computing system having a non-uniform memory access (NUMA) architecture comprising a plurality of NUMA nodes. A query of a document store storing a collection of slices each comprising one or more documents is received from a client. Thereafter, it is determined which of the slices within the document store are required for execution of the query. An execution plan is then generated, using the query, that comprises a plurality of nodes each specifying at least one database operation to execute a portion of the query. The execution plan assigns one of the plurality of NUMA nodes to each slice determined to be required for execution of the query. The database operations specified by the nodes of the execution plan are then executed using the corresponding assigned NUMA nodes for the associated slice. Data responsive to the query is then provided to the client.


