Document Storage Blocks with Buffer Portions for Concurrent Read Write
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional databases face limitations in storing large documents due to fixed-sized storage blocks without buffer portions, leading to inefficient handling of changes, which restricts concurrent read/write processing and requires modifications across multiple blocks.
Innovation Solution
Implementing a data structure with storage blocks that include both storage and buffer portions, allowing content to be segmented and stored across multiple blocks, with buffer portions used to accommodate changes, either within existing blocks or by generating new blocks, ensuring efficient handling of document updates.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If fixed-sized storage blocks without buffer portions are used, then storage structure is simple, but handling of changes requires modifications across multiple blocks reducing read concurrency
Solution Approach 1:
The storage block is divided into two distinct portions: a storage portion for holding original content segments and a buffer portion for accommodating changes. This segmentation allows changes to be handled independently within the buffer portion without requiring modifications across multiple blocks, thus improving ease of operation while maintaining a relatively simple overall storage structure.
Solution Approach 2:
Different portions of the storage block are assigned different functions: the storage portion maintains data integrity for reading operations, while the buffer portion is specifically designed to accommodate changes. This local differentiation of quality allows concurrent read operations to proceed independently from write operations, improving ease of change handling without significantly increasing structural complexity.
2Productivity
If buffer portions are added to storage blocks, then concurrent read/write processing is enabled improving productivity, but storage structure becomes more complex
Solution Approach 1:
By segmenting each storage block into a storage portion and a buffer portion, the system enables concurrent read/write processing. Read operations can access the storage portion while write operations simultaneously modify the buffer portion, improving productivity. The segmentation is implemented as a straightforward structural division that does not significantly increase overall complexity.
Solution Approach 2:
The buffer portion acts as an intermediary between the storage portion and external write operations. Changes are first accommodated in the buffer portion, which mediates between the need for data integrity in the storage portion and the need for flexible updates. This intermediary structure enables concurrent processing without requiring complex coordination mechanisms.
3Reliability
If buffer portions are used to accommodate changes, then modifications are confined to single blocks improving read concurrency, but requires adjusting buffer sizes across blocks
Solution Approach 1:
Storage blocks are pre-configured with buffer portions of predetermined sizes before data storage begins. This preliminary action establishes a consistent structure across all blocks, ensuring that changes can be accommodated within single blocks without requiring complex real-time adjustments. The buffer size management complexity is reduced by establishing uniform buffer sizes in advance.
Solution Approach 2:
The system manages buffer size as a configurable parameter that can be adjusted uniformly across storage blocks. By treating buffer size as a adjustable parameter rather than a fixed structural constraint, the system maintains data consistency through standardized buffer portions while allowing flexibility in resource allocation. This parameter-based approach simplifies buffer size management compared to individual block customization.
Data Source
AI summary
Techniques are disclosed for content storage in a way that facilitates consistent and concurrent read/write processing of stored documents. An example methodology implementing the techniques includes segmenting the contents of a document into a plurality of content segments and storing the plurality of content segments within a data structure, the data structure including storage blocks having storage portions and buffer portions. The storage of the plurality of content segments includes storage of content segments within a storage portions of the storage blocks of the data structure. The method also includes receiving at least one change to the content and utilizing a buffer portion of at least one storage block to store the at least one change to the content.


