Partitioned Database Query Processing for Lock-Free Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face limitations in processing speed due to hardware constraints, data storage methods, and restricted co-processing options, leading to inefficiencies in data processing and query execution.

Innovation Solution

A database system architecture that employs parallelized data input, storage, and query processing subsystems, utilizing Single Producer Single Consumer (SPSC) buffers and partitioned memory allocation to enable lock-free and parallel execution of operations across multiple processing core resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional database systems use sequential processing and locking mechanisms, then data consistency is maintained, but processing speed and throughput are limited

Engineering Contradiction:
Improveprocessing speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent segments the database into multiple partitions that can be processed independently across different processing core resources. Each partition can be accessed by specific consumers without requiring locks, enabling parallel processing while maintaining consistency through partition-based isolation. This segmentation allows simultaneous operations on different data partitions without interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a mediator mechanism that coordinates access to shared resources without using traditional locking. The mediator manages producer-consumer relationships and data flow between partitions, enabling consistent data access patterns while allowing parallel execution. This intermediary layer resolves conflicts without requiring explicit locks on data structures.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If database systems implement parallel processing, then processing speed increases, but system complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal data structure that serves multiple functions: it acts as both a data container and a synchronization mechanism. The same data structure is used across all processing core resources, eliminating the need for separate locking mechanisms and coordination systems. This multi-functionality reduces overall system complexity while enabling parallel processing.

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

Solution Approach 2:

The patent implements self-service mechanisms where processing core resources automatically manage their own data access and coordination. Each resource independently manages its partition access and consumer relationships without requiring external locking or complex coordination protocols. This self-service approach simplifies the system by eliminating centralized control mechanisms.

Inventive Principle:
Principle #25Self-service

3Reliability

If traditional locking mechanisms are used, then data consistency is ensured, but execution time for queries increases

Engineering Contradiction:
Improvedata consistencyVSAvoidexecution time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides data into segments that can be accessed independently by different consumers simultaneously. This segmentation eliminates the need for locking when multiple consumers access different segments, reducing execution time while maintaining consistency through segment isolation. Queries can execute in parallel without waiting for locks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-partitioning data and pre-establishing consumer assignments before query execution. This preliminary organization allows queries to execute without dynamic locking or coordination during execution, significantly reducing execution time while maintaining data consistency through the pre-established partition structure.

Inventive Principle:
Principle #10Preliminary action

4Speed

If hardware resources are optimized for single-threaded processing, then hardware simplicity is maintained, but processing speed is limited

Engineering Contradiction:
Improveprocessing speedVSAvoidhardware utilization
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments computational tasks across multiple processing core resources, enabling each core to process independent partitions simultaneously. This segmentation leverages parallel hardware capabilities without requiring complex hardware modifications, improving processing speed through software-based partitioning while keeping hardware architecture relatively simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a dimensional layer of parallelism by introducing multiple processing core resources that operate simultaneously on different data partitions. This dimensional change from sequential to parallel processing exploits hardware capabilities without fundamentally altering the core processing architecture, enabling speedup while maintaining hardware simplicity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS20250291794A1Database systems with a set of subsystems
Publication Date: 2025.09.18 OCIENT HOLDINGS LLC
  • US20250291794A1 patent drawing
  • US20250291794A1 patent drawing
  • US20250291794A1 patent drawing

AI summary

A computing device is operable to receive a plurality of partition allocation requests based on execution of a corresponding plurality of query operations in conjunction with execution of a corresponding query. Processing a first partition allocation request of the plurality of partition allocation requests corresponding to execution of a first operation of the corresponding plurality of query operations is based on allocating a set of partitions of a plurality of partitions. Content is loaded into the set of partitions for access in executing the first operation. Access to the content via the set of partitions is facilitated in conjunction with execution of the first operation. The set of partitions are released based on determining the first operation has completed access of the content in conjunction with the execution of the first operation.