-
公开(公告)号:US20220382650A1
公开(公告)日:2022-12-01
申请号:US17332568
申请日:2021-05-27
Applicant: SAP SE
Inventor: Ivan Schreter
Abstract: A method may include performing, at multiple data partitions, a point-in-time recovery to a specified time by applying transactions that have committed at each data partition up to the specified time. Open transactions that have not been committed at each data partition at the specified time may be identified. A corresponding transaction coordinator may be queried for an outcome of the open transactions. Open transactions that affect a single data partition may be aborted. The point-in-time recovery may be performed at the transaction coordinator partitions by determining the outcome of the open transactions. The transaction coordinator partitions may abort any transaction that remains open subsequent to the point-in-time recovery. If the specified time may be greater than a safety threshold, data up to an earlier point-in-time than specified may be recovered depending on whether there are missing portions of transaction logs at the data partitions or the transaction coordinator partitions.
-
公开(公告)号:US11442966B2
公开(公告)日:2022-09-13
申请号: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.
-
公开(公告)号:US11188241B2
公开(公告)日:2021-11-30
申请号:US16029458
申请日:2018-07-06
Applicant: SAP SE
Inventor: Ivan Schreter
IPC: G06F17/00 , G06F3/06 , G06F16/11 , H04L29/14 , G06F11/14 , H04L29/08 , G06F16/2455 , G06F12/0802 , G06F16/16 , G06F16/182 , G06F16/176 , G06F16/13 , G06F12/1009 , G06F16/951 , G06F16/27 , G06F16/23 , G06F11/16 , G06F16/245 , G06F16/215
Abstract: A method for storing a key-value pair can include dividing the key-value pair into a first data record and a second data record. The first data record can include a key associated with the key-value pair. The second data record can include a portion of a value associated with the key-value pair. The second data record can be stored in a secondary data store based on a size of the second data record exceeding a threshold value. The first data record can be stored in an in-memory key-value store based on a size of the first data record not exceeding the threshold value. The first data record can include a reference to the second data record in the secondary data store. A query requiring the key-value pair can be executed by retrieving the first data record from the in-memory key-value store. Related systems and articles of manufacture are also provided.
-
公开(公告)号:US11163609B2
公开(公告)日:2021-11-02
申请号:US16373278
申请日:2019-04-02
Applicant: SAP SE
Inventor: Ivan Schreter
Abstract: A system and method of allocating memory to a thread of a multi-threaded program are disclosed. A method includes determining one or more thread-local blocks of memory that are available for the thread, and generating a count of the available one or more thread-local blocks for a thread-local freelist. If a thread-local block is available, allocating one block of the one or more thread-local blocks to the thread and decrementing the count in the thread-local freelist. When the count is zero, accessing a global freelist of available blocks of memory to determine a set of available blocks represented by the global freelist. Then, the set of available blocks are allocated from the global freelist to the thread-local freelist by copying one or more free block pointers of the global freelist to a thread-local state of the thread. Blocks can also be deallocated.
-
公开(公告)号:US10901639B2
公开(公告)日:2021-01-26
申请号:US15428035
申请日:2017-02-08
Applicant: SAP SE
Inventor: Daniel Booss , Robert Kettler , Mehul Wagle , Harshada Khandekar , Ivan Schreter
IPC: G06F3/06 , G06F12/084
Abstract: A system for allocating memory (e.g., heap) in multi-core processors is provided. In some implementations, the system performs operations comprising receiving, at a shared cache having a plurality of segments, a first data allocation including a plurality of data blocks, and allocating at least a first and second data block from the first allocation. First and second segments in the shared cache can each comprise a plurality of data slots (e.g., of equal length). Allocating the first and second data blocks can include storing the first data block in a data slot of the first segment and storing the second data block in a data slot of the second segment. The plurality of data slots which do not contain data may contain padding, and/or the data slots to which the first and second data blocks are allocated are not adjacent. Related systems, methods, and articles of manufacture are also described.
-
公开(公告)号:US10788998B2
公开(公告)日:2020-09-29
申请号:US16029459
申请日:2018-07-06
Applicant: SAP SE
Inventor: Ivan Schreter
IPC: G06F11/00 , G06F3/06 , G06F17/30 , G06F16/11 , H04L29/14 , G06F11/14 , H04L29/08 , G06F16/2455 , G06F12/0802 , G06F16/16 , G06F16/182 , G06F16/176 , G06F16/13 , G06F12/1009 , G06F16/951 , G06F16/27 , G06F16/23 , G06F11/16 , G06F16/245 , G06F16/215
Abstract: A method for logging changes to data stored in a distributed data storage system can include responding to a request to change the data stored in the distributed data storage system by generating a log entry corresponding to the change. A replica of the data can be stored at each of a first computing node and a second computing node comprising the distributed data storage system. The log entry can be added to a first log stored at the first computing node and propagated to the second computing node to add the first log entry to a second log stored at the second computing node. A crash recovery can be performed at the first computing node and/or the second computing node based on the first log and/or the second log. Related systems and articles of manufacture, including computer program products, are also provided.
-
公开(公告)号:US10768836B2
公开(公告)日:2020-09-08
申请号:US16029431
申请日:2018-07-06
Applicant: SAP SE
Inventor: Ivan Schreter
IPC: G06F3/06 , G06F17/30 , G06F16/11 , H04L29/14 , G06F11/14 , H04L29/08 , G06F16/2455 , G06F12/0802 , G06F16/16 , G06F16/182 , G06F16/176 , G06F16/13 , G06F12/1009 , G06F16/951 , G06F16/27 , G06F16/23 , G06F11/16 , G06F16/245 , G06F16/215
Abstract: A method for page based data persistence can include storing data associated with a state machine at a computing node. The data can be stored by at least allocating a first data page for storing the data. In response to the allocation of the first data page, a first page reference to the first data page can be added to a first page list in an in-memory buffer at the computing node. When the in-memory buffer reaches maximum capacity, a second data page can be allocated for storing the first page list. A second page reference to the second data page can be added to a second page list in the in-memory buffer. Related systems and articles of manufacture, including computer program products, are also provided.
-
公开(公告)号:US10754562B2
公开(公告)日:2020-08-25
申请号:US16029453
申请日:2018-07-06
Applicant: SAP SE
Inventor: Ivan Schreter
IPC: G06F3/06 , G06F17/30 , G06F16/11 , H04L29/14 , G06F11/14 , H04L29/08 , G06F16/2455 , G06F12/0802 , G06F16/16 , G06F16/182 , G06F16/176 , G06F16/13 , G06F12/1009 , G06F16/951 , G06F16/27 , G06F16/23 , G06F11/16 , G06F16/245 , G06F16/215
Abstract: A method for providing block access on top of a key-value store comprising a distributed data storage system is provided. The method can include receiving, at a block device, a first input/output operation requesting one or more data blocks. The first input/output operation can be translated into a second input/output operation requesting one or more key-value pairs. The second input/output operation can be performed by at least sending the second input/output operation to the key-value store. Related systems and articles of manufacture, including computer program products, are also provided.
-
公开(公告)号:US10747737B2
公开(公告)日:2020-08-18
申请号:US14552902
申请日:2014-11-25
Applicant: SAP SE
Inventor: Colin Florendo , Ivan Schreter , Panfeng Zhou , David Wein , Steffen Geissinger , Michael Muehle
Abstract: Disclosed herein are system, method, and computer program product embodiments for altering the data type of a column in a database. An embodiment operates by converting an original dictionary associated with a column into a new dictionary. The new dictionary stores the values of the original dictionary using a different data type. An index vector containing the keys of the original dictionary is then updated to contain the associated keys of the new dictionary. Because the size of the original dictionary is often substantially smaller than the number of rows in the associated column, this dictionary conversion decreases the computation cost to the database system of altering the data type of the column and reduces or even minimizes database downtime for users.
-
公开(公告)号:US10289709B2
公开(公告)日:2019-05-14
申请号:US14949635
申请日:2015-11-23
Applicant: SAP SE
Inventor: Steffen Geissinger , Ivan Schreter
Abstract: A first block in a page chain can be assigned to a first dictionary for a first column of a database. The page chain can include a plurality of dictionary blocks allocated to a plurality of dictionaries of a plurality of columns including the first column such that the plurality of dictionary blocks is interleaved in the page chain. A new unique value to be added to the first column can be appended to an end of the first dictionary. The plurality of dictionaries can be loaded from the page chain into memory of one or more computers performing operations of a database management system. The loading can include scanning the page chain a single time and assigning the plurality of dictionary blocks to the respective dictionaries of the plurality of dictionaries.
-
-
-
-
-
-
-
-
-