SCALABLE TRANSACTION MANAGER FOR DISTRIBUTED DATABASES

    公开(公告)号:US20220391382A1

    公开(公告)日:2022-12-08

    申请号:US17332564

    申请日:2021-05-27

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: A method may include responding to a transaction by sending, to a first data partition participating in the transaction, a first request to set a first transaction control block at the first data partition to a preparing state. In response to the transaction affecting multiple data partitions, a second request to set a second transaction control block at a second data partition to the preparing state may be sent to the second data partition. A third request to add the first data partition and the second data partition as participants of the transaction may be sent to the transaction coordinator. The transaction coordinator may determine, based on a first response of the first data partition and a second response of the second data partition, an outcome of the transaction. The transaction may be rolled back if the first response and/or the second response indicate an inability to commit the transaction.

    Consistent backup of a distributed database system

    公开(公告)号:US11157370B2

    公开(公告)日:2021-10-26

    申请号:US15335770

    申请日:2016-10-27

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: In an executing database instance including a plurality of database nodes, creation of a backup of the executing database instance includes creation of a current savepoint in one of the plurality of database nodes by storing first modified pages of a cache of the database node in a datastore of the database node, transmitting a confirmation after storing the first modified pages, repeatedly identifying second modified pages of the cache and storing the identified second modified pages in the datastore, receiving an instruction to enter a critical phase and stopping the repeated identifying and storing in response to the instruction, blocking updates to the database node and transmitting a second confirmation, and receiving a second instruction and, in response to receiving the second instruction, identifying third modified pages of the cache and storing the third modified pages of the cache in the datastore. Pages associated with the current savepoint are identified and stored in the datastore, and the pages associated with the current savepoint are stored in a persistent media.

    TIME CALIBRATION ACROSS MULTI-SOCKET COMPUTING SYSTEMS

    公开(公告)号:US20210311521A1

    公开(公告)日:2021-10-07

    申请号:US16837508

    申请日:2020-04-01

    Applicant: SAP SE

    Abstract: A thread executing a task at a node in a multi-socket computing system may access a first data structure to obtain a first calibration dataset for the node. The first thread may generate a timestamp based on the first calibration dataset and a first quantity of time measured by a clock at the first node. The real-time duration of the task may be determined based on the timestamp. The first thread may recalibrate the first clock by at least generating, based on the first quantity of time measured by the clock and a second quantity of time measured by a wall clock of an operating system of the multi-socket computing system, a second calibration dataset. The first thread may update the first data structure to include the second calibration dataset while a second thread accesses a second data structure to obtain calibration data.

    UNIFIED TABLE QUERY PROCESSING
    84.
    发明申请

    公开(公告)号:US20210224280A1

    公开(公告)日:2021-07-22

    申请号:US17220556

    申请日:2021-04-01

    Applicant: SAP SE

    Abstract: A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store.

    Unified table delta dictionary lazy materialization

    公开(公告)号:US10997164B2

    公开(公告)日:2021-05-04

    申请号:US14949699

    申请日:2015-11-23

    Applicant: SAP SE

    Abstract: A new unique value to be added to a column of a database table can be written to an in-memory array representing a dictionary of the column, and space can be allocated in at least one dictionary block on at least one page maintained on a persistent storage without writing the new unique value to the at least one dictionary block. A pending materialization bit for the at least one page can be set to identify the at least one page for deferred materialization.

    Flexible per-request data durability in databases and other data stores

    公开(公告)号:US10970175B2

    公开(公告)日:2021-04-06

    申请号:US15183648

    申请日:2016-06-15

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: An approach for providing flexible durability operations for a data storage application can include requests to perform logging operations of data storage application having an indication of a durability mode to use for the logging operation. The logging operation can be initiated according to the indication of the durability mode and a callback indicating log write completion can be called according to the indication of the durability mode.

    Associative registry
    87.
    发明授权

    公开(公告)号:US10901789B2

    公开(公告)日:2021-01-26

    申请号:US16373351

    申请日:2019-04-02

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: A system and method of registering one or more objects in a container of a multi-threaded computing system. A method includes prefixing, to each object of the one or more objects, an object header having a version counter with an initial version count of zero. The method further includes for each object to be allocated to a thread of the multi-threaded computing system, allocating an object frame associated with each allocated object to the thread while maintaining the object header. The method further includes constructing each allocated object in the object frame after the object header, and initializing the object header of each allocated object by executing a store/store memory barrier and incrementing the version counter by a count of one to mark the associated allocated object as valid.

    HIGH-PERFORMANCE STATISTICS
    89.
    发明申请

    公开(公告)号:US20200320107A1

    公开(公告)日:2020-10-08

    申请号:US16373383

    申请日:2019-04-02

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.

    Using message-passing with procedural code in a database kernel

    公开(公告)号:US10740317B2

    公开(公告)日:2020-08-11

    申请号:US15596998

    申请日:2017-05-16

    Applicant: SAP SE

    Inventor: Ivan Schreter

    Abstract: Each of a plurality of database objects can be assigned to a specific message-passing worker of a plurality of message-passing workers, each executing on a first logical core that shares with at least a second logical core one or more resources of a physical processor core of a plurality of physical processor cores. The second logical core can execute a job worker of a plurality of job workers that implement procedural code. Exclusive write access can be provided to a database object of the plurality of database objects via a message-passing worker of the plurality of message-passing workers while read-only access is provided to any database object of the plurality of database objects via any of the plurality of job workers. Operations can be executed by the message-passing worker in an order in which request messages are received in a message queue of the message-passing worker.

Patent Agency Ranking