Adaptive Sequence Provisioning in Clustered Databases

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to ordered sequences in database environments face performance bottlenecks due to serialization requirements and scalability issues, leading to poor support for ordered sequences, which results in significant slowdowns and increased system costs, especially in clustered environments.

Innovation Solution

The implementation of adaptive provisioning of sequence numbers, where the number of sequence numbers is dynamically determined based on consumption rates, allowing for independent or shared cache implementations to reduce contention and enhance performance by optimizing cache sizes across multiple entities in a database environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sequence cache size is increased to reduce retrieval cost from disk, then performance of database systems is improved, but risk of productivity loss increases due to larger sequence cache size being maintained in memory

Engineering Contradiction:
ImproveperformanceVSAvoidrisk of productivity loss
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic adjustment of sequence cache size based on actual consumption rates. The system monitors how quickly sequence numbers are consumed and automatically adjusts the cache size to match demand, rather than using a fixed large cache. This allows the system to maintain adequate performance while minimizing the memory footprint and potential loss exposure.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback mechanisms that monitor sequence number consumption patterns and use this information to adjust cache provisioning. By continuously observing consumption rates and adjusting cache size accordingly, the system optimizes the balance between performance (reducing disk accesses) and reliability (limiting potential productivity loss).

Inventive Principle:
Principle #23Feedback

2Reliability

If sequence cache size is decreased to mitigate risk of productivity loss, then risk of productivity loss is reduced, but performance of database systems slows down due to more frequent access to new sequence numbers from disk

Engineering Contradiction:
Improverisk of productivity lossVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Rather than using a static small cache size, the system dynamically adjusts cache size based on monitored consumption rates. When consumption is high, the cache expands to reduce disk access frequency. When consumption is low, the cache contracts to limit potential productivity loss. This dynamic approach allows the system to adapt to varying workloads and optimize both performance and reliability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of cache size based on observed consumption patterns. By adjusting this key parameter dynamically, the system can optimize performance during high-demand periods while maintaining reliability during low-demand periods, rather than being constrained by a fixed cache size.

Inventive Principle:
Principle #35Parameter changes

3Stability of the object's composition

If ordered sequences are supported with serialization to enforce ordering, then ordering is enforced, but performance bottleneck occurs due to serialization requirement

Engineering Contradiction:
ImproveorderingVSAvoidperformance
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The patent segments the sequence management functionality by implementing separate sequence cache instances for different database instances in a clustered environment. Each instance maintains its own sequence cache and can operate independently, eliminating the need for centralized serialization. This segmentation allows parallel access while maintaining ordering within each segment through local cache management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The sequence cache acts as an intermediary layer between the database instances and the sequence number generation source. By pre-loading sequence numbers into local caches, the system mediates between the need for ordering and the need for parallel performance, allowing instances to consume from their local caches without direct serialization while still enforcing ordering through cache management protocols.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Stability of the object's composition

If application-level synchronization is used to enforce ordering among sequence numbers, then ordering is enforced, but scalability deteriorates due to higher-level synchronization requirements

Engineering Contradiction:
ImproveorderingVSAvoidscalability
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent replaces the mechanical application-level synchronization mechanism with a database-managed sequence cache system. Instead of requiring applications to implement their own locking and synchronization logic, the database system manages sequence allocation through cached instances that automatically handle ordering enforcement. This substitution eliminates the scalability limitations of application-level synchronization while maintaining ordering guarantees.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The sequence cache serves as an intermediary that handles ordering enforcement internally, freeing applications from implementing complex synchronization logic. The cache manages the ordering constraints and provides sequence numbers to applications in an ordered manner without requiring application-level coordination, thereby improving scalability while maintaining ordering stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11868350B2Methods, systems, and computer program products for adaptively provisioning a sequence in a clustered database environment
Publication Date: 2024.01.09 ORACLE INT CORP
  • US11868350B2 patent drawing
  • US11868350B2 patent drawing
  • US11868350B2 patent drawing

AI summary

Described are improved systems, computer program products, and methods for adaptively provisioning an ordered sequence in a clustered database environment. The approach includes identifying a cached list of sequence numbers. A request for one or more sequence numbers in a database environment may be received. A determination may be made to decide whether the request pertains to an ordered sequence. The one or more sequence numbers may be adaptively provisioned to fulfill the request based at least in part upon an independent cache implementation or upon a shared cache implementation.