Database Inventory Isolation for E-Commerce Lock Contention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database systems used in online stores often lock entire data blocks when updating inventory counts, leading to delays in other transactions and user actions, such as adding items to cart or purchasing, due to the need to manage multiple items' counts within the same data block.
Innovation Solution
Implementing database inventory isolation by monitoring demand levels for access to items and isolating high-demand inventory counts into separate data blocks, reducing the likelihood of timeouts and lock contention by moving counts to dedicated blocks with padding, allowing for faster transaction processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple inventory counts are stored in the same data block, then storage efficiency is improved, but transaction responsiveness deteriorates due to lock contention
Solution Approach 1:
The patent segments the data block by creating separate isolated regions for high-demand inventory counts within the same data block structure. This allows multiple inventory counts to coexist in the same data block while preventing lock contention through logical separation, thus maintaining storage efficiency while improving transaction responsiveness.
Solution Approach 2:
The patent applies local quality by treating high-demand inventory counts differently from regular inventory counts. High-demand items receive isolated storage regions with dedicated lock management, while other items continue to share the data block. This differential treatment optimizes performance for critical items without sacrificing overall storage efficiency.
2Reliability
If the entire data block is locked during inventory count updates, then data consistency is improved, but system productivity deteriorates due to transaction delays
Solution Approach 1:
The patent segments the locking mechanism by introducing isolated regions within the data block that have independent lock management. When an inventory count in an isolated region is updated, only that specific region is locked, not the entire data block. This maintains data consistency within the isolated region while allowing other regions to remain accessible, thereby improving system productivity.
Solution Approach 2:
The patent extracts high-demand inventory counts from the shared data block environment and places them in isolated regions with dedicated lock management. This extraction allows these critical inventory operations to proceed independently without being blocked by other transactions in the data block, improving overall system productivity while maintaining consistency through targeted locking.
3Loss of time
If inventory counts are isolated in separate data blocks, then transaction responsiveness is improved, but storage efficiency deteriorates due to increased data block usage
Solution Approach 1:
The patent implements nesting by placing isolated regions for high-demand inventory counts within the structure of the existing data block. Rather than creating entirely separate data blocks, the isolated regions are nested within the parent data block, allowing multiple inventory counts to share the same physical storage space while maintaining logical isolation. This improves transaction responsiveness without proportionally increasing storage consumption.
Solution Approach 2:
The patent merges the concepts of shared data blocks and isolated inventory regions by allowing both to coexist within the same data block structure. Regular inventory counts continue to share the data block for efficient storage, while high-demand items have isolated regions within that same block. This combination maintains storage efficiency while providing the transaction responsiveness benefits of isolation.
Data Source
AI summary
Systems, devices, and techniques are disclosed for database inventory isolation. Demand levels for access to items may be monitored. The items may have associated inventory counts in a database. An item of the items for which to isolate the inventory count associated with the item may be determined based on the demand levels. The inventory count associated with the determined item may be isolated by moving the inventory count associated with the determined item from a first data block that stores the inventory count associated with the determined item and inventory counts associated with others of the items to a second data block that does not store any other inventory counts.


