摘要:
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 system and method handle resource transaction requests. The system marks a waiting transaction request, having an access mode which is incompatible with the access mode of the executing transaction, with an ignore bit, so that a transaction request with an access mode compatible with the access mode of the executing transaction may receive a lock in order to access the resource. The transaction request is then marked with a bypass indicator such that when the executing transactions are finished accessing the resource, the waiting transaction request may be notified that it may have access to the resource. The system includes the ignore bit so that each transaction request that arrives after the ignore bit has been set, does not suffer from a long waiting time before being provided access to the resource.
摘要:
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.
摘要:
A multi-level locking hierarchy for a relational database includes a locking level applied to a multi-dimensionally clustering table, a locking level applied to blocks within the table, and a locking level applied to rows within the blocks. The hierarchy leverages the multi-dimensional clustering of the table data for efficiency and to reduce lock overhead. Data is normally locked in order of coarser to finer granularity to limit deadlock. When data of finer granularity is locked, data of coarser granularity containing the finer granularity data is also locked. Block lock durations may be employed to ensure that a block remains locked if any contained row remains locked. Block level lock attributes may facilitate detection of at least one of a concurrent scan and a row deletion within a block. Detection of the emptying of a block during a scan of the block may bar scan completion in that block.
摘要:
An information retrieval system and method are provided for minimizing the number of blocks searched in a cell before recording a new record in the table and determining which block can be assigned if a table has space available to store a new record in the case an additional block should be associated with a cell. Dimensions for a table are identified, and at least one block in the table is associated with a dimension value for each dimension, where each block comprises contiguous storage pages. The block can be further associated with a cell; this associated cell has a unique combination of dimension values comprising an dimension value for each of the dimensions. A unique associated bit list for each dimension value for each dimension has a unique corresponding list entry for each block associated with that dimension value, and a unique associated bit list for each cell has a unique corresponding list entry for each block associated with that cell.
摘要:
The invention herein provides method and apparatus for managing attribute-tagged index entries contained in an index by assigning or tagging an index entry attribute indicator to a newly inserted index entry (that is, at the time when a key data value is inserted into the index, the key data value becomes a newly inserted index entry and an attribute indicator is tagged to the newly inserted index entry). The index entry can be placed anywhere within the index. Once a group of attribute-tagged index entries have been inserted into the index, the attribute identifiers can be switched off instantaneously (that is, the attribute associated with the attribute indicators is disabled).
摘要:
A callback to a data manager is carried out from an index manager in a query processing system for an index-data fetch to enable an index page held stabilized by an index manager to remain stabilized during predicate checking or data consumption operations. The index manager locates a data identifier in an index and calls back to a data manager to access the data indicated by the data identifier. The data manager may carry out a predicate check or a data consuming operation on the data and if this is the case the index manager may access the next data identifier in the index when the data manager callback is complete. The index page need not be destabilized in such a case.
摘要:
A procedure optimizes command execution in a database system. According to one embodiment, the database system stores data records on data pages, and provides an identifier for each data page. The identifier indicates when any of the data records contained in the data page were last modified. A data record is selected from a data page and copied to a second storage area. Verification that the selected data record has not been modified since the time that is was copied to the second storage area is based upon the identifier, and then the command is executed.
摘要:
A system, method and computer readable medium containing programming structions for an improved latch mechanism for use in a programming environment running concurrent tasks is disclosed. According to one aspect of the present invention, a latch is provided to a first task which is requesting access to a resource. After such access, the first task holds the latch, which is also released from the first task. The first task holding the latch marks the latch stealable, and if the latch is not marked stolen by another task, the first task can mark the latch unstealable. In another embodiment of the present invention, if the first task is provided a latch marked stealable, the resource associated with the stealable latch will be placed in a consistent state before the first task accesses the resource.
摘要:
A method of searching a table in a database management system for free space for inserting a new record into the table. The table resides in a storage media, and includes a series of pages capable of storing a plurality of records. The table has a clustering index defined in a column of the table. The new record has a new record attribute for storing in the column of the table when the new record is stored in the table. The method comprises searching for a target page in the series of pages, the target page being selected to maintain clustering when the new record is inserted thereon. Once the target page has been located, it is searched for sufficient free space to accommodate the new record. If sufficient free space is found on the target page, then the new record is inserted on the target page. If sufficient free space is not found on the target page, then a target neighborhood of pages in the series of pages is searched for sufficient free space to accommodate the new record. The target neighborhood of pages surrounds the target page. If sufficient free space is found on a page in a target neighborhood of pages, then the new record is inserted on to this page in the target neighborhood of pages. If sufficient free space is not found in the target neighborhood of pages, then the method further comprises searching for sufficient free space to accommodate the new record outside the target neighborhood of pages. If sufficient free space is found outside the target neighborhood of pages, then the new record is inserted on a non-neighboring page outside the target neighborhood of pages. If sufficient free space is not found outside the target neighborhood of pages, then a new page having the new record is appended to the end of table.