摘要:
A local database cache enabling persistent, adaptive caching of either full or partial content of a remote database is provided. Content of tables comprising a local cache database is defined on per-table basis. A table is either: defined declaratively and populated in advance of query execution, or is determined dynamically and asynchronously populated on-demand during query execution. Based on a user input query originally issued against a remote DBMS and referential cache constraints between tables in a local database cache, a Janus query plan, comprising local, remote, and probe query portions is determined. A probe query portion of a Janus query plan is executed to determine whether up-to-date results can be delivered by the execution of a local query portion against a local database cache, or whether it is necessary to retrieve results from a remote database by executing a remote query portion of Janus query plan.
摘要:
A computer-implemented method for minimizing the amount of time to access current data in a database which may be stored wholly in a DASD-oriented external storage subsystem or partly in DASD and partly in a stored high-speed electronic store while maintaining coherency of the data with respect to multiple user systems.
摘要:
A high-speed cache is shared by a plurality of independently-operating data systems in a multi-system data sharing complex. Each data system has access both to the high-speed cache and the lower-speed, secondary storage for obtaining and storing data. Management logic and the high-speed cache assures that a block of data obtained form the cache for entry into the secondary storage will be consistent with the version of the block of data in the shared cache with non-blocking serialization allowing access to a changed version in the cache while castout is being performed. Castout classes are provided to facilitate efficient movement from the shared cache to DASD.
摘要:
Database files containing records include pages called free space inventory pages (FSIPs) describing field space information relating to data pages. In a transaction processing system, the invention provides correct sequences for logging of updates to FSIPs when the updates are required by updates or UNDOs to data records. If, during operation to insert a data record to a data page, the FSIP containing free space information for the page indicates that the page is empty and there are no uncommitted deletes to the page, page I/O is avoided by formatting the page directly in a data buffer pool without reading the page from disk. During a cursor stability-level table scan with data record-level locking, excessive I/O and some record locking are avoided by using space reservation fields on an FSIP to ensure that there is no space reserved on the data page for a later undo of uncommitted data records deletes from the page.
摘要翻译:包含记录的数据库文件包括描述与数据页相关的字段空间信息的称为可用空间清单页(FSIP)的页面。 在事务处理系统中,当更新或UNDO需要更新到数据记录时,本发明提供用于记录对FSIP的更新的正确序列。 如果在操作期间将数据记录插入数据页面,则包含该页面的可用空间信息的FSIP指示页面为空,并且没有未提交的页面删除,通过直接格式化页面来避免页面I / O 在没有从磁盘读取页面的数据缓冲池中。 在具有数据记录级别锁定的光标稳定级别表扫描期间,通过使用FSIP上的空间预留字段来避免过多的I / O和某些记录锁定,以确保在数据页面上没有保留的空间以便稍后撤消 未提交的数据记录从页面中删除。
摘要:
A high-speed cache is shared by a plurality of independently-operating data systems in a multi-system data sharing complex. Each data system has access both to the high-speed cache and the lower-speed, secondary storage for obtaining and storing data. Management logic and the high-speed cache assures that a block of data obtained form the cache for entry into the secondary storage will be consistent with the version of the block of data in the shared cache.
摘要:
Apparatus and method for reading data pages in a transaction processing system without locking the pages are disclosed. The system maintains a Global.sub.-- Committed.sub.-- LSN identifying the oldest uncommitted transaction accessing any of the data, and Object.sub.-- Committed.sub.-- LSNs identifying the oldest uncommitted transactions accessing particular files, tables and indexes. Each data page includes a Page.sub.-- LSN identifying the last transaction to have updated the page. To read a page, a transaction first latches the pages, and compares the page's Page.sub.-- LSN with the Global.sub.-- Committed.sub.-- LSN, or with the page's respective Object.sub.-- Committed.sub.-- LSN. If the Page.sub.-- LSN is older than the Committed.sub.-- LSN with which it was compared, then the transaction reads the page without locking it, since there can be no uncommitted transaction in process which might have updated the page's data. However if the Page.sub.-- LSN is younger than the Committed.sub.-- LSN, the page is locked before being read.
摘要:
A method and apparatus for concurrent modifications of an index tree in a transaction processing system. The index tree includes at least one root node having a key record reference to one or more nodes in a next lower ordered level and at least one bottom node providing access to key records. Transactions including a structure modification operation are performed by traversing the index tree to the selected node and then setting an indication of the pendency of a structure modification operation. Concurrent key record inserts or deletes are permitted throughout the index tree where no indication of a pending structure modification operation is present and are delayed where a pending structure modification operation is indicated. Similarly, transactions which include a key record delete may require a structure modification operation in the event the transaction does not reach new point of consistency and must be undone. Therefore, an indication of each key record delete which has not yet reached a new point of consistency is set and concurrent key record inserts or deletes are also delayed until the possibility of a structure modification operation is completed.
摘要:
Embodiments of a method are described. In one embodiment, the method is a method for executing and supporting transactions. The method includes receiving a transaction comprising a command and data. The method includes writing the data to a transaction manager on a persistent memory device. The transaction manager also maintains a status of the transaction and reference to entries within memory that are manipulated by the transaction. The method also includes creating an in-memory log of the transaction in a first hash directory. The method includes committing a copy of the first hash directory to a second hash directory maintained on a persistent memory device.
摘要:
A computer database system utilizes a method for performing a right outer join of database tables without sorting the inner table (T.sub.2). The processing of each tuple in the outer table (T.sub.1) includes the preservation in the joint output of all tuples in T.sub.2 which are in its responsibility region. The initialization step of the process preserves in the join output all of the tuples in T.sub.2 which have column set values less than the lowest column set value in T.sub.1, i.e. the first tuple in T.sub.1, since T.sub.1 is sorted or accessed using a sorted index. The responsibility region for tuples in T.sub.1, other than the last tuple, is defined as those tuples which have column set values less than the column set value for the next tuple in T.sub.1 and greater than or equal to the column set value for the current T.sub.1 tuple. The last tuple in T.sub.1 must preserve all of the tuples in T.sub.2 which have not already been preserved in T.sub.2, i.e. all tuples greater than or equal to its column set value. If T.sub.1 has duplicate values for the column set value, only the last one preserves the associated T.sub.2 tuples. Additional methods for parallel execution of the outer join methods and methods for applying the outer join methods to subqueries (i.e., an All (or universal) Right Join (ARJOIN) and an Existential Right Join (ERJOIN)) are described.
摘要:
Enhanced data availability occurs in a write-ahead logging, transaction-oriented database system by permitting new transactions to acquire access to data while restart recovery operations are proceeding. The invention permits new transactions to acquire access to data during restart recovery UNDO processing on the condition that the last update to the data occurred before a commit point measured by the beginning of the earliest-commencing transaction with uncommitted updates which was still executing when a system failure initiated restart recovery operations. During REDO processing, a transaction is permitted access to data which, in addition to meeting the commit point condition, is not in a data structure subject to the REDO processing.