Processor-Addressable Database Memory Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database management systems (DBMSs) face challenges in achieving high performance and reducing complexity in application development, particularly in managing persistent data and providing direct access to database objects without intermediaries, which leads to increased costs and potential data loss due to power outages.
Innovation Solution
The system employs processor-addressable memory to allocate and manage database objects directly, allowing applications to access and modify objects within the database memory, eliminating the need for intermediate layers and ensuring data consistency through volatile memory with non-volatile backup storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional DBMS with intermediate layers are used, then data persistence and reliability are improved, but transaction speed and access efficiency deteriorate
Solution Approach 1:
The patent extracts the persistence management function from the traditional DBMS intermediate layers and implements it directly within the application environment's memory management system. Database objects are stored directly in processor-addressable memory with persistence guarantees, eliminating the need for separate DBMS access layers and intermediate storage abstractions, thereby achieving both fast access and data persistence.
Solution Approach 2:
The patent merges the database storage function with the application environment memory space. Database objects are allocated within the application environment's address space using the same memory allocation mechanisms as regular application objects, combining what were previously separate systems (application memory and database storage) into a unified memory management approach that eliminates intermediate access layers.
2Stability of the object's composition
If traditional DBMS with multiple intermediate layers are used, then data consistency is improved, but device complexity and development complexity increase
Solution Approach 1:
The patent removes the complex multi-layer DBMS architecture including transaction managers, query processors, and storage managers, replacing them with a simplified memory allocation system that provides data consistency through standard memory management mechanisms while maintaining persistence guarantees.
Solution Approach 2:
The patent makes the application environment's memory allocation system universal by enabling it to handle both regular application objects and database objects through the same allocation and access mechanisms. The application environment becomes multi-functional, serving both as the execution environment for applications and as the database management system, eliminating the need for separate specialized DBMS components.
3Speed
If processor-addressable memory is used for database objects, then access efficiency is improved, but data loss risk increases due to volatile memory
Solution Approach 1:
The patent implements prior cushioning by establishing persistence guarantees at the moment of memory allocation. When database objects are allocated in processor-addressable memory, the system pre-configures persistence mechanisms that ensure data is protected against loss from power failures or system crashes, cushioning against the inherent volatility of processor memory before access operations occur.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems and methods for managing databases include a processor-addressable memory (130) and a processor (120) in communication with the processor-addressable memory and configured to execute an application environment (210, 310), to allocate an environment memory to the environment and to allocate the environment memory from the processor-addressable memory; the application environment is configured to maintain a database (230, 320) configured to store one or more objects in a database memory within the environment memory, to execute a first application (220, 340a-c) in an application memory within the environment memory and isolated from the database memory, upon instantiation of a database object (240a-d, 330a-d) by the first application, allocate memory in the database memory for the database object; the database in the database memory providing master storage (750,760) for the database object and, upon an instruction to obtain the database object by code of the first application, provide to the first application a reference to the database object and, upon an access operation on the database object by the first application, provide to the first application direct access to data of the database object at a processor- addressablememory address in the database memory.