Database Mass Insert Using Preliminary Pages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The process of inserting multiple records into pages loaded into memory in an in-memory database can be resource intensive and slow down database performance, particularly due to the inefficiencies in handling partially filled pages and managing free space during mass insert operations.

Innovation Solution

The database system employs a method where preliminary pages are iteratively filled and registered, with the last partially filled page being either deleted or kept for future mass insert operations, and entries can be moved to different pages within the container to optimize resource usage and reduce bottlenecks during mass insert operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If records are inserted into pages loaded into memory to enable more rapid operations, then database operation speed is improved, but resource consumption increases and performance slows down during mass insert operations

Engineering Contradiction:
Improvedatabase operation speedVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The mass insert operation is segmented into multiple phases: preliminary page creation, bulk entry insertion into preliminary pages, registration of full pages, and handling of the last partially filled page. This segmentation allows the system to optimize resource usage by processing entries in batches and managing memory pages systematically, reducing overall resource consumption while maintaining high insertion speed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Preliminary pages are created and allocated in advance before the actual mass insert operation begins. These preliminary pages are pre-configured with appropriate data structures and pointers, allowing the insertion process to proceed without the overhead of dynamic page allocation and management during the actual insertion, thus reducing resource consumption while maintaining speed

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple records are inserted into pages loaded into memory, then insertion efficiency is improved, but handling partially filled pages becomes complex and resource intensive

Engineering Contradiction:
Improveinsertion efficiencyVSAvoidpage management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The complexity of managing partially filled pages is extracted and isolated into a separate handling mechanism. The last partially filled page is identified and separated from the bulk processing flow, allowing it to be handled through a simplified path that involves either moving entries to a different page or deleting the preliminary page structure. This extraction reduces the overall management complexity while maintaining high insertion efficiency

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system discards the preliminary page structure for the last partially filled page by either moving its entries to a different page or deleting it entirely. This discarding approach eliminates the complexity of maintaining inconsistent page structures, and the necessary data is recovered through the move or insert operations, simplifying the overall page management process while preserving insertion efficiency

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If the last partially filled page is kept for future mass insert operations, then resource utilization is improved, but page management complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoidpage management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The last partially filled page is given multi-functionality: it can serve as a storage container for remaining entries from the current mass insert operation, and simultaneously be prepared for reuse in future mass insert operations. By registering this page with the container and maintaining it in a reusable state, the system improves resource utilization without significantly increasing management complexity, as the same page management mechanisms handle both its current and future roles

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

Data Source

PatentUS11354357B2Database mass entry insertion
Publication Date: 2022.06.07 SAP SE
  • US11354357B2 patent drawing
  • US11354357B2 patent drawing
  • US11354357B2 patent drawing

AI summary

A database system receives a mass insert operation command specifying a plurality of entries. Thereafter, the entries are iteratively inserted into a plurality of preliminary pages associated with a container provided by a persistence layer of the database system. Thereafter, the preliminary pages are registered to the container once they are full.