Enhanced transactional cache
AssigneeSap SE
InventorBo Wang
Life of this patent
Estimating the term…
Abstract
Described herein is a technology for providing enhanced transactional caching. In accordance with one aspect, a transactional cache associated with a database is configured. The enhanced cache may support write operation by partial key or index. Execution of a write operation on the database is delayed until a flush is determined to be necessary. The write operation is delayed by performing the write operation on the transactional cache. The flush is invoked by performing a row-wise bulk operation that updates the database based on the transactional cache.
Claims19
A computer-implemented method of transactional caching, comprising:
- configuring a transactional cache associated with a database, wherein the database comprises a column-based database with a column architecture;
- receiving a write operation with a partial key;
- mapping the partial key to one or more primary keys, wherein a primary key uniquely identifies one row in the transactional cache, wherein the partial key is non-unique and identified by a subset of a string representing the primary key;
- applying a write-through-DB policy for order-sensitive query operations, wherein the write-through-DB policy executes the order-sensitive query operations directly on the database;
- delaying execution of the write operation other than the order-sensitive query operations on the database until a flush is determined to be necessary, wherein the write operation is delayed by performing the write operation on the identified one row in the transactional cache;
- and
- invoking the flush by performing a bulk operation that updates the database based on the transactional cache.
A computer-implemented method of transactional caching, comprising:
- configuring a transactional cache associated with a database;
- receiving a write operation with a partial key;
- mapping the partial key to one or more primary keys, wherein a primary key uniquely identifies one row in the transactional cache, wherein the partial key is non-unique and identified by a subset of a string representing the primary key;
- delaying execution of the write operation on the database until a flush is determined to be necessary, wherein the write operation is delayed by performing the write operation on the transactional cache;
- and
- invoking the flush by performing a row-wise bulk operation that updates the database based on the transactional cache.
A non-transitory computer-readable medium having stored thereon program code, the program code executable by a computer to perform a method of transactional caching, comprising:
- configuring a transactional cache associated with a database, wherein the database comprises a column-based database with a column architecture;
- receiving a write operation with a partial key;
- mapping the partial key to one or more primary keys, wherein a primary key uniquely identifies one row in the transactional cache, wherein the partial key is non-unique and identified by a subset of a string representing the primary key;
- delaying execution of the write operation on the database until a flush is determined to be necessary, wherein the write operation is delayed by inserting or updating records in the transactional cache;
- and
- invoking the flush by performing a row-wise bulk operation that updates the database based on the transactional cache, wherein performing the row-wise bulk operation comprises writing the records in the transactional cache into respective rows of records in a data table in the column-based database.
A system for transactional caching, comprising:
- a non-transitory memory device for storing computer-readable program code;
- and
- a processor in communication with the memory device, the processor being operative with the computer-readable program code to
- configure a transactional cache associated with a database, wherein the database comprises a column-based database with a column architecture,
- receiving a write operation with a partial key,
- mapping the partial key to one or more primary keys, wherein a primary key uniquely identifies one row in the transactional cache, wherein the partial key is non-unique and identified by a subset of a string representing the primary key,
- delay execution of the write operation on the database until a flush is determined to be necessary, wherein the write operation is delayed by inserting or updating records in the transactional cache, and
- invoke the flush by performing a row-wise bulk operation that updates the column-based database based on the transactional cache, wherein performing the row-wise bulk operation comprises writing the records in the transactional cache into respective rows of records of a data table in the column-based database.
Dependencies are inferred from the claim text.