Adaptive Data Storage Management
AssigneeMicrosoft Technology Licensing, LLC
InventorsBadrish CHANDRAMOULI, Xiangpeng HAO
Life of this patent
Estimating the term…
Abstract
The description relates to adaptive data storage management. An example manages data within a database system using dynamically adjustable mini-pages within a buffer pool. The example involves receiving a request for a data item, adjusting mini-page sizes based on the request, and determining the data item's presence within these mini-pages. Upon locating the item, the request is executed on the relevant mini-page. The example also updates a mapping table to correlate mini-page identifiers with their locations in the database, and selectively caches or evicts the data item based on probabilities and access patterns.
Claims20
A device-implemented method, comprising:
- receiving a request related to a data item;
- managing a set of mini-pages in a buffer pool, each mini-page configured with a size that is dynamically adjustable based on the request;
- determining when the data item is in a mini-page of the set of mini-pages;
- performing the request on the mini-page when located;
- adjusting the size of the mini-page to accommodate changes based on the request;
- updating a mapping table having mappings that correlate mini-page identifiers with locations of the set of mini-pages in a database;
- and
- selectively caching the data item or evicting the data item from the buffer pool to disk storage based on probabilities and access patterns.
A device-implemented method, comprising:
- initializing a buffer pool in a memory system of a computer, the buffer pool is configured to dynamically allocate and manage mini-pages and each of the mini-pages is adaptable in size based on data operation requirements;
- receiving a data operation request;
- determining whether a data item of the data operation request is located in one of the mini-pages of the buffer pool;
- adjusting a size of a selected mini-page dynamically in response to the data operation request, the adjusting including increasing or decreasing a size of the selected mini-page based on an operational parameter of the data operation request;
- managing caching of data items within the mini-pages based on probabilities and access patterns including prioritizing frequently accessed data items for retention within the buffer pool and relocating less frequently accessed data items to a storage system;
- and
- updating a mapping mechanism to correlate the mini-pages with physical locations within the memory system or the storage system.
A system, comprising:
- a processor;
- and
- a memory for storing instructions that are executed by the processor to:
- receive a data operation request for a data item in a database;
- access a variable-length buffer pool, the variable-length buffer pool storing mini-pages, each of the mini-pages being configured to be dynamically size adjusted based on the data operation request;
- determine whether the data item is contained within an existing mini-page of the variable-length buffer pool;
- when the data item is not contained within an existing mini-page, allocate a new mini-page within the variable-length buffer pool, the size of the new mini-page determined based on the size of the data item and an attribute of the data operation request;
- execute the data operation request on a selected mini-page, and when the data operation request is a write operation, the size of the selected mini-page is adjusted by the processor to accommodate new data without requiring modification of adjacent data structures;
- update a mapping table that correlates mini-page identifiers with physical memory locations of the mini-pages;
- cache the data item in the selected mini-page based on a frequency of access parameter, such that frequently accessed data items are retained within the selected mini-page in memory and infrequently accessed data items are moved to disk storage;
- and
- evict the selected mini-page from memory to disk storage based on a caching policy that prioritizes retention of mini-pages containing hot data items and the eviction of mini-pages containing cold data items.
Dependencies are inferred from the claim text.