Abstract:
A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The first database can have a first transaction manager and the second database can have a second transaction manager. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions is then coordinated using the first transaction manager and the second transaction manager. All changes specified by the at least one database operation are logged in a distributed log in the first database including changes implicating data stored within the second database. The distributed log is configured such that it is accessible by both of the first transaction manager and the second transaction manager.
Abstract:
A plurality of transactions are handled in a database. Each transaction comprises a plurality of operations on at least one record in the database with at least two of the transactions being handled concurrently. Thereafter, a temporary timestamp is assigned to each record that is based, at least in part, on the corresponding transaction. A first transaction among the plurality of transactions is subsequently committed. Afterwards, re-stamping of at least one commit timestamp modified by the first transaction is delegated. Related apparatus, systems, techniques and articles are also described.
Abstract:
Aspects of the current subject matter are directed to an approach in which a parallel load operation of file ID mapping containers is accomplished at start and/or restart of a database system. Parallel load operation of file ID mapping and/or large binary object (LOB) file ID mapping is done among a plurality of scanning engines into a plurality of data buffers that are associated with each of the plurality of scanning engines. Each scanning engine operates on a certain path of a page chain of a page structure including the mapping, causing the page chain to be split among scanning engines to process maps. Contents of the data buffers are pushed to mapping engines via a queue. The mapping engines load the file ID mapping and the LOB file ID mapping into maps for in-system access.
Abstract:
Checking of a database snapshot of an active database is initiated. Thereafter, an anchor page associated with a most recent snapshot that links to a restart page is read. Subsequently, the linked restart page is read. It is then initially determined, based on the reading of the anchor page and the restart page, whether the snapshot is accurate. If it is initially determined that the snapshot is not accurate, the anchor page and the restart page are re-read until a final determination is made that whether the snapshot is accurate. Alternatively, if not is initially determined that the snapshot is accurate, then data is provided (e.g., displayed, loaded into memory, transmitted to a remote computing system, stored in physical persistence, etc.) that indicates that the snapshot is accurate.
Abstract:
A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The first database can have a first transaction manager and the second database can have a second transaction manager. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions is then coordinated using the first transaction manager and the second transaction manager. All changes specified by the at least one database operation are logged in a distributed log in the first database including changes implicating data stored within the second database. The distributed log is configured such that it is accessible by both of the first transaction manager and the second transaction manager.
Abstract:
A provisional page to be filled with data is allocated in an in-memory database system in which pages are loaded into memory and having associated physical disk storage a provisional page to be filled with data. Thereafter, the provisional page is filled with data. The provisional page is register after the provisional page has been filled with data such that consistent changes in the database are not required for the provisional page prior to the registering.
Abstract:
Disclosed herein are embodiments for free-space handling in pages and in-memory containers allowing variable-size data entries. An example system may determine expanses of unallocated space, within a page loaded in memory and configured to allocate a first data entry of a first size within the page that may also allocate at least one subsequent data entry of a second size different from the first size; save, into memory, transient free-space information corresponding to the page, including first position information for a first number of expanses of contiguous unallocated space within the page; evict the page from memory, writing allocated data entries contained therein to persistent storage; store, into persistent storage, persistent free-space information corresponding to the page, including second position information for a second number of expanses of unallocated space within the page, the second number being less than the first number; and discard the transient free-space information.
Abstract:
A computer implemented method for initializing a secondary database system includes receiving table state information from a primary database system at a secondary database system. The table state information includes information identifying which tables had an open operation during a savepoint event. Metadata associated with the tables is parsed to identify table state information from the metadata and a lock is created for each table identified as having an open operation during the savepoint event. Afterwards, log transaction information is sequentially parsed. Related apparatus, systems, techniques and articles are also described.
Abstract:
A method is described that involves providing a persisted quantity for a time series time interval to a first transaction, then, providing the same persisted quantity to a second transaction that operates in parallel with the first transaction. The second transaction is not permitted to change the persisted quantity. The method also involves replacing the persisted quantity with a second persisted quantity within the time series. The second persisted quantity is determined by the first transaction. The method also involves writing a persisted quantity change for the time series time interval. The persisted quantity change is determined by the second transaction.
Abstract:
A method, computer program product and system are provided. The method, computer program product and system execute a process for storing an object in an object container that is stored in a persistency of a disk storage. The object container has size criteria whereby objects meeting the size criteria of the object container can be assigned to the object container. The object container can facilitate storing multiple objects to optimize disk storage usage by facilitating the assigning of multiple objects to the same disk storage page.