Garbage collection for in-memory row storage

    公开(公告)号:US10922297B2

    公开(公告)日:2021-02-16

    申请号:US15908724

    申请日:2018-02-28

    Applicant: SAP SE

    Abstract: A system for an in-memory row storage architecture can be provided. In some implementations, the system performs operations including processing a database statement comprising a first database transaction affecting one or more rows in an in-memory row store, registering the database statement at a start of execution of the database statement, the start of execution occurring at a first time, unregistering the registered database statement at an end of execution of the database statement, determining a second time at which execution of an oldest currently registered database statement was started, assigning a garbage collection thread to a second database transaction committed at a third time and affecting at least one row of the plurality of rows, and activating the garbage collection thread to reclaim memory within the in-memory row store when the third time is less than the second time. Related systems, methods, and articles of manufacture are also described.

    Efficient database multi-version concurrency control

    公开(公告)号:US10346384B2

    公开(公告)日:2019-07-09

    申请号:US15359050

    申请日:2016-11-22

    Applicant: SAP SE

    Abstract: Example embodiments of a database employing an efficient form of multi-version concurrency control (MVCC) are described. In an example embodiment, in response to receiving an update command for a first row of a plurality of rows of a database, an image of the first row stored in a first memory area is stored in a second memory area. In a third memory area storing a first database structure and associated pointer corresponding to the image of the first row stored in the first memory area, a second data structure and associated pointer corresponding to the image of the first row in the second memory area are stored. The second data structure is linked to the first data structure. The image of the first row in the first memory area is overwritten with an image of a new version of the first row provided in the update command.

    GARBAGE COLLECTION FOR IN-MEMORY ROW STORAGE

    公开(公告)号:US20180349270A1

    公开(公告)日:2018-12-06

    申请号:US15908724

    申请日:2018-02-28

    Applicant: SAP SE

    Abstract: A system for an in-memory row storage architecture can be provided. In some implementations, the system performs operations including processing a database statement comprising a first database transaction affecting one or more rows in an in-memory row store, registering the database statement at a start of execution of the database statement, the start of execution occurring at a first time, unregistering the registered database statement at an end of execution of the database statement, determining a second time at which execution of an oldest currently registered database statement was started, assigning a garbage collection thread to a second database transaction committed at a third time and affecting at least one row of the plurality of rows, and activating the garbage collection thread to reclaim memory within the in-memory row store when the third time is less than the second time. Related systems, methods, and articles of manufacture are also described.

    METADATA SYNCHRONIZATION IN A DISTRUBUTED DATABASE

    公开(公告)号:US20170308547A1

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

    申请号:US15137648

    申请日:2016-04-25

    Applicant: SAP SE

    CPC classification number: G06F16/178 G06F16/182 G06F16/27

    Abstract: Disclosed herein are system, method, and computer program product embodiments for synchronizing an unsynchronized distributed database system. An embodiment operates by locking, by a second node, partitions in the second node based on first information received from, a first node responsive to execution of partition utility based on a first query received by the first node. Blocking, by the second node, a second query to a data portion of the partitions in the second node based on the first information. Locking, by the second node, second node object metadata based on second information received from the first node. Receiving, by the second node, changes to first node object metadata and applying the changes to the second node object metadata. Unlocking, by the second node, the partitions in the second node and the second node object metadata while unblocking the second query.

Patent Agency Ranking