G06F2212/465

Efficient trickle updates in large databases using persistent memory

Systems, methods, and computer-readable media for storing data in a data storage system using a child table. In some examples, a trickle update to first data in a parent table is received at a data storage system storing the first data in the parent table. A child table storing second data can be created in persistent memory for the parent table. Subsequently the trickle update can be stored in the child table as part of the second data stored in the child table. The second data including the trickle update stored in the child table can be used to satisfy, at least in part, one or more data queries for the parent table using the child table.

DATABASE TOOL
20210089509 · 2021-03-25 ·

A memory stores a first cache and a second cache. A processor copies a first portion of data from a first table stored in a database into a second table. The processor further determines that a second portion of data from the first table will be overwritten and copies the second portion into a third table. The processor further determines that a probability that a user will access a third portion of the first table is greater than a threshold and copies the third portion into the first cache. The processor further determines a fourth portion of the first table that the user accesses at a frequency greater than a set frequency and copies the fourth portion into the second cache.

Database tool

A memory stores a first cache and a second cache. A processor copies a first portion of data from a first table stored in a database into a second table, performs statistical analysis on the first portion, and stores the results into the second table. The processor further determines that a second portion of data from the first table will be overwritten, copies the second portion into a third table, performs statistical analysis on the second portion and stores the results into the third table. The processor further determines that a probability that a user will access a third portion of the first table is greater than a threshold and copies the third portion into the first cache. The processor further determines a fourth portion of the first table that the user accesses at a frequency greater than a set frequency and copies the fourth portion into the second cache.

GRAPH-BASED PREDICTIVE CACHE
20210089452 · 2021-03-25 · ·

A predictive cache system learns data access patterns to build a graph of related data items. A main cache hosted by a cache server is accessed by a cache client having a local cache. A request to the cache server for one of the related data items generates a response including some or all of the related data items, which are stored in the local cache and can be served locally for subsequent requests. Predictive cache behavior coexists with legacy non-predictive cache operation. Load on the cache server and aggregate latency are considerably reduced. Graphs can be specific to a particular context. Locally cached content can be distributed and reused by other cache clients. The predictive cache system is suitable for large-scale web applications. Variations are described.

Managing dynamic configuration-based database connections using a proxy datasource

Systems for managing dynamic configuration-based database connections using a proxy datasource are disclosed. In embodiments, a computer program product is provided including a computer readable storage medium having program instructions embodied therewith. The program instructions are executable by a computing device to cause the computing device to: send, by a software application of the computing device, a request for a connection to a first database to a proxy datasource of the computing device, wherein the request includes a database identifier and configuration data; pass, by a first concrete datasource of the computing device, a connection to the first database to the proxy datasource; return, by the proxy datasource of the computing device, the connection to the software application; and access, by the software application of the computing device, the first database via the connection.

Managing dynamic configuration-based database connections using a proxy datasource

Methods for managing dynamic configuration-based database connections using a proxy datasource are disclosed. In embodiments, a method includes: receiving, by a proxy datasource of a computing device, a connection request for a connection to a database from a software application of the computing device, wherein the software application is in an application container environment; obtaining, by the proxy datasource of the computing device, configuration data associated with the connection request; creating, by the proxy datasource of the computing device, a concrete datasource according to the configuration data; and returning, by the proxy datasource of the computing device, the connection to the database to the software application.

Conditional cache persistence in database systems
10936500 · 2021-03-02 · ·

A database system includes a database server, a DRAM, a persistent memory, and at least one storage media. The database server includes a cache manager. The DRAM stores a buffer hash table and the persistent memory includes a persistent memory database cache including a plurality of buffers. Buffer content in a buffer is conditionally persisted subsequent to a system initialization event based on the respective buffer satisfying one or more predefined conditions. Each buffer is associated with buffer descriptor values corresponding to a plurality of buffer descriptors. The plurality of buffer descriptors includes a first type of buffer descriptors and a second type of buffer descriptors. Modifications to the buffer hash table are routed to the DRAM, and modifications to the buffer content and modifications to buffer descriptor values corresponding to the first type of buffer descriptors are explicitly flushed to the persistent memory database cache.

MULTI-VALUE MAPPING FOR OBJECT STORE

A method for mapping an object store may include storing a data entry within a mapping page for an object in the object store, wherein the data entry may include a key and a value, and the value may include an address for the object in the object store. The method may further include storing multiple data entries within the mapping page for multiple corresponding objects in the object store, wherein each data entry may include a key and one or more values for a corresponding object in the object store, and each value may include an address for the corresponding object in the object store. The data entries may be part of a mapping data structure which may include nodes, and each node may be stored within a mapping page.

Multi-state midtier cache

A server includes a data cache for storing data objects requested by mobile devices, desktop devices, and server devices, each of which may execute a different configuration of an application. When a cache miss occurs, the cache may begin loading portions of a requested data object from various data sources. Instead of waiting for the entire object to load to change the object state to valid, the cache may incrementally update the state through various levels of validity based on the calling application configurations. When a portion of the data object used by a mobile configuration is received, the object state can be upgraded to be valid for mobile devices while data for desktop and other devices continues to load, etc. The mobile portion of the data object can then be sent to the mobile devices without waiting for the rest of the data object to load.

Method and apparatus to manage flush of an atomic group of writes to persistent memory in response to an unexpected power loss

A group of cache lines in cache may be identified as cache lines not to be flushed to persistent memory until all cache line writes for the group of cache lines have been completed.