LOB Block Index Branch Sequencing for Low-Amplification Inserts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database management of large object data (LOB) leads to a serious write amplification problem during insertion operations due to complex processing and the need to migrate or recode storage blocks, causing sequence number confusion and inefficiency.
Innovation Solution
An index entry generating method for large object data block index that involves acquiring a first sequence number based on a code arrangement sequence, determining if an adjacent sequence number is occupied, and adding a branch index sequence number between existing sequence numbers, using a different code arrangement sequence to manage large object data block indexes, thereby simplifying the insertion process.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If conventional storage management methods are used for large object data, then complex processing is performed on storage blocks, but write amplification problem occurs during insertion operations
Solution Approach 1:
The patent segments the storage management into two independent parts: (1) sequence number management using a B+ tree index structure for small object data, and (2) block address management using a hash table for large object data. This segmentation allows each part to be optimized independently, avoiding the write amplification problem that occurs when using unified storage management methods for both small and large objects.
Solution Approach 2:
The patent extracts the large object data management from the conventional storage block management system. By separating large object block address management into a dedicated hash table structure, the system removes the burden of complex sequence number adjustments and storage block migrations from large object insertions, thereby eliminating write amplification while maintaining storage management capability.
2Adaptability or versatility
If complex special processing is performed on large object data in storage engine, then large object data can be managed separately, but sequence number confusion and recoding requirements occur
Solution Approach 1:
The patent divides the index management into two distinct segments: a B+ tree index for sequence numbers that maintains ordered access for small objects, and a hash table for block addresses that provides direct access for large objects. This segmentation eliminates sequence number confusion by giving large objects a separate addressing mechanism that does not rely on sequential positioning, thereby reducing index management complexity while maintaining management flexibility.
Solution Approach 2:
The patent extracts large object address management from the sequential B+ tree index structure and places it in a separate hash table. This extraction eliminates the need for recoding sequence numbers when inserting large objects, as the hash table independently manages block addresses without being affected by sequence number assignments in the B+ tree, thereby reducing overall system complexity.
3Stability of the object's composition
If storage block migration is performed during large object insertion, then data can be organized sequentially, but write amplification and time consumption increase
Solution Approach 1:
The patent segments the data organization function between two structures: the B+ tree maintains sequential order for sequence numbers, while the hash table maintains direct mapping for block addresses. This segmentation allows large object insertions to update only the hash table entry without requiring migration of storage blocks or reorganization of sequential data, thereby maintaining data organization stability while minimizing insertion time and avoiding write amplification.
Solution Approach 2:
The patent performs preliminary organization by pre-allocating storage blocks and recording their addresses in the hash table before actual data insertion. This preliminary action establishes the block address mapping in advance, so that during insertion operations, only the hash table needs to be updated with the new block address, eliminating the need for time-consuming data migration and reorganization while maintaining sequential data organization.
Data Source
AI summary
Implementations of this specification provide methods and apparatuses for generating index entries. One method includes: acquiring a first sequence number of front large object data that is adjacent to a target data to be inserted in a large object data, wherein the first sequence number is generated based on a first code arrangement sequence and is comprised in a first index entry corresponding to the front large object data, in response to determining that the second sequence number immediately following the first sequence number is occupied, determining, based on a second code arrangement sequence, a branch index sequence number for the target data, and adding an index entry comprising the branch index sequence number to an index of the large object data, wherein the index entry is added between the first index entry comprising the first sequence number and a second index entry comprising the second sequence number.


