Database Memory Allocation Dynamic Adjustment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems face challenges in efficiently managing memory allocation, leading to memory shortages or wastage, especially when dealing with large objects, which complicates software applications and reduces database reliability.
Innovation Solution
A method that dynamically adjusts memory allocation by determining the actual size of objects during runtime and selecting a preferred statement with alternative sizes that match the actual sizes, allowing for efficient memory use without increasing application complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If dynamic memory allocation is used to efficiently manage memory, then memory efficiency is improved, but software application complexity increases
Solution Approach 1:
The patent introduces an intermediary layer (the database system's memory management mechanism) that automatically handles the complexity of dynamic memory allocation. The system monitors actual memory usage and selects appropriate memory allocation strategies without requiring software applications to directly manage or understand memory allocation complexity, thus maintaining memory efficiency while shielding applications from complexity.
Solution Approach 2:
The database system performs self-service by automatically monitoring its own memory usage patterns and dynamically adjusting memory allocation for stored statements. The system uses feedback from actual runtime memory consumption to autonomously optimize memory allocation, eliminating the need for complex application-level memory management while maintaining efficiency.
2Device complexity
If static memory allocation is used to simplify software applications, then software application complexity is reduced, but memory efficiency deteriorates due to shortages or wastage
Solution Approach 1:
The patent implements a dynamic memory allocation system where the database automatically adjusts memory allocation for stored statements based on actual runtime needs. The system monitors memory consumption patterns and dynamically selects allocation strategies, transforming the static allocation approach into a dynamic one that maintains both simplicity for applications and efficiency for memory usage.
Solution Approach 2:
The system changes the parameter of memory allocation from fixed static values to dynamically adjusted values based on actual usage. The database monitors runtime memory consumption and adjusts allocation parameters automatically, allowing software applications to remain simple while memory efficiency is optimized through parameter changes at the system level.
3Quantity of substance
If large objects are allocated with maximum size in static memory allocation, then object size capacity is improved, but memory availability deteriorates due to shortages
Solution Approach 1:
The patent applies partial action by allocating memory for large objects based on actual usage needs rather than maximum capacity. The system monitors runtime memory consumption and allocates only the necessary portion of memory required for each object, avoiding the excessive allocation of maximum size that leads to memory shortages while still supporting large object capabilities.
Solution Approach 2:
The database system implements feedback mechanisms to monitor actual memory consumption of large objects during runtime. Based on this feedback, the system dynamically adjusts memory allocation for subsequent operations, ensuring that memory is allocated according to actual needs rather than maximum potential requirements, thus maintaining object size capacity while preserving memory availability.
4Reliability
If software applications are designed according to specific database memory allocation, then database compatibility is improved, but adaptability deteriorates when porting to different databases
Solution Approach 1:
The patent creates a universal memory management interface at the database level that handles different memory allocation strategies. This universal layer allows software applications to interact with a standardized interface regardless of the underlying database's memory allocation mechanism, enabling applications to maintain compatibility with their original database while adapting to different databases without significant redesign.
Data Source
AI summary
A method for managing memory allocation in a database receives an invocation of a stored statement defined to allocate objects, each with a stored size. The method determines an actual size relating to the invocation and determines a preferred statement among defined statements with defined object sizes. The defined statements include the stored statement and alternative stored statements that provide an alternative implementation of the stored statement defined to allocate the objects with alternative sizes lower than stored sizes. The preferred statement has defined sizes compliant to actual sizes according to preference criterion based on comparing defined and actual sizes. The method invokes the preferred statement for execution in place of the stored statement when different. The method stores a new statement, having new sizes compliant to actual sizes according to alternate criterion, responsive to unfulfilling a condition based on comparing defined sizes of the preferred statement with actual sizes.


