摘要:
A system and method for managing deadlocks in a database management system (DBMS) for a demultiplexed database system. The DBMS supports applications that are capable of holding and retaining locks on database resources while disassociated from worker agents. The system and method includes an application scheduler for managing requests for access to the database, and a deadlock detector for identifying a deadlock. The application scheduler assigns one worker agent to an application requesting access to a database resource, assigns a flag to an application holding a lock on the database resource while disassociated from a worker agent, and in cooperation with the deadlock detector, resolves the deadlock between the application requesting access and the flagged application holding the lock.
摘要:
A system and method for managing shared resources is disclosed. The system includes a primary coherency processing unit which processes lock requests from a plurality of data processing hosts, the primary coherency processing unit also storing a first current lock state information for the plurality of data processing hosts, the first current lock state information including a plurality of locks held by the plurality of data processing hosts. The system further includes a standby coherency processing unit storing fewer locks than the primary coherency processing unit, the locks stored by the standby coherency processing unit being a subset of locks included in the first current lock state information, the standby coherency unit configured to perform a plurality of activities of the primary coherency processing unit using the subset of locks in response to a failure of the primary coherency processing unit.
摘要:
An ordering of operations in log records includes: performing update operations on a database object by a node; writing log records for the update operations into a local buffer by the node, the log records each including a local virtual timestamp; determining that a log flush to write the log records in the local buffer to a persistent storage is to be performed; in response, sending a request from the node to a log flush sequence server for a log flush sequence number; receiving the log flush sequence number by the node; inserting the log flush sequence number into the log records in the local buffer; and performing the log flush to write the log records in the local buffer to the persistent storage, where the log records written to the persistent storage comprises the local virtual timestamps and the log flush sequence number.
摘要:
A coherency manager provides coherent access to shared data by receiving a copy of updated database data from a host computer through RDMA, the copy including updates to a given database data; storing the copy of the updated database data as a valid copy of the given database data in local memory; invalidating local copies of the given database data on other host computers through RDMA; receiving acknowledgements from the other host computers through RDMA that the local copies of the given database data have been invalidated; and sending an acknowledgement of receipt of the copy of the updated database data to the host computer through RDMA. When the coherency manager receives a request for the valid copy of the given database data from a host computer through RDMA, it retrieves the valid copy of the given database data from the local memory and returns the valid copy through RDMA.
摘要:
An ordering of operations in log records includes: performing update operations on a shared database object by a node; writing log records for the update operations into a local buffer by the node, the log records each including a local virtual timestamp; determining that a log flush to write the log records in the local buffer to a persistent storage is to be performed; in response, sending a request from the node to a log flush sequence server for a log flush sequence number; receiving the log flush sequence number by the node; inserting the log flush sequence number into the log records in the local buffer; and performing the log flush to write the log records in the local buffer to the persistent storage, where the log records written to the persistent storage comprises the local virtual timestamps and the log flush sequence number.
摘要:
Lock communications in a shared disk database system is reduced by several approaches: sending a single message to a lock manager for locks required for an operation and locks that will be required in the future, the operations may include row update, row delete, large scan, and row insert; performing an operation in two executions, where in a first execution locks required for the operation is determined without performing the operation, and in a second execution a single message is sent to a lock manager for the required locks and the operation is performed; in free space searching, sending a single message to a lock manager for row and page locks before a row insert is actually performed; and granting locks in an unfair manner.
摘要:
Lock communications in a shared disk database system is reduced by several approaches: sending a single message to a lock manager for locks required for an operation and locks that will be required in the future, the operations may include row update, row delete, large scan, and row insert; performing an operation in two executions, where in a first execution locks required for the operation is determined without performing the operation, and in a second execution a single message is sent to a lock manager for the required locks and the operation is performed; in free space searching, sending a single message to a lock manager for row and page locks before a row insert is actually performed; and granting locks in an unfair manner.
摘要:
Embodiments of the invention provide a method for regaining memory consistency after a trap via transactional memory. Transactional memory and a transactional memory log are used to undo changes made to memory from a transaction start point up to the point of a trap event. After the trap event is processed, and the changes are rolled back, the program can resume execution at the beginning of the transaction.
摘要:
A memory buffer facilitates log catchup for online operations. Certain designated areas of memory are allocated for one or more buffers for use during online operations (e.g., reorganization, create index, etc.). Concurrent update activities to the target object write informational records into the one or more buffers. If the buffers become full, the informational records may be written to logs for persistent storage. After online operations finish building all or a suitable portion of the shadow object, log catchup is performed by first applying activities in the informational records from the buffer and thereafter applying activities from logs, if necessary. The invention helps solve the drawbacks of log catchup since the buffer contains only the information related to the target shadow object. Also it does not involve physical I/Os, as these records are all in memory.
摘要:
A method and system for suspending log-based updates to a database in a manner that permits resumption of log-based updating without reinitializing the database. The method and system thereby permit efficient alternation between a log-based update mode and a database access mode. Unplayed log records are protected as revisions of database pages at the time that the log-based update was suspended. This approach permits log-based updating to resume at the same point at which log-based updating was suspended. In order to ensure consistent data for access while in database access mode, a roll-back procedure creates consistent data pages that are used for access and discarded when log-based update resumes.