首页> 外文OA文献 >B-tree concurrency control and recovery in a client-server database management system
【2h】

B-tree concurrency control and recovery in a client-server database management system

机译:客户端-服务器数据库管理系统中的B树并发控制和恢复

摘要

In this thesis, we consider the management of transactions in a data-shipping client-server database system in which the physical database is organized as a sparse B±tree or B-link-tree index. Client transactions perform their operations on cached copies of index and data pages. A client transaction can contain any number of operations of the form "fetch the first (or next) matching record", "insert a record", or "delete a record", where database records are identified by their primary keys. Efficient implementation of these operations on B±tree and B-link trees are developed for page-server systems. Our algorithms guarantee recoverability of the logical database operations as well as the tree-structure modifications on the physical B±tree or B-link tree. Record updates and structure modifications are logged using physiological log records, which are generated by clients and shipped to the server. During normal processing client transaction aborts and rollbacks are performed by the clients themselves. The server applies the write-ahead logging (WAL) protocol, and the steal and no-force buffering policies for data and index pages. The server performs the restart recovery after a system failure using an ARIES-based recovery protocol.Tree-structure modifications such as page splits and merges are defined as small atomic actions, where each action affects only two levels of a B±tree, or a single level of a B-link tree, while retaining the structural consistency and balance of the tree. In the case of a B-link tree, our balance conditions guarantee that all pages always contain at least m (a chosen minimum load factor) records and that the length of the search path of a database record is never greater than twice the tree height. Deletions are handled uniformly with insertions, so that underflows are disposed of by merging a page into its sibling page or redistributing the records between two sibling pages. Each structure modification is logged using a single physiological redo-only log record. Hence, structure modifications need never be undone during transaction rollback or restart recovery.Our algorithms allow for inter-transaction caching of data and index pages, so that a page can reside in a client cache even when no transaction is currently active at the client. Cache consistency is guaranteed by a replica-management protocol based on callback locking. In one set of our algorithms, both the concurrency-control and replica-management protocols operate at the page level. These algorithms are most suitable for object-oriented database and CAD/CAM applications, where long-lasting editing sessions are typical. Another set of our algorithms is designed for general database applications where concurrency and transaction throughput are the major issues. In these algorithms, transaction isolation is guaranteed by the key-range locking protocol, and replica management operates in adaptive manner, so that only the needed record may be called back. A leaf (data) page may now contain uncommitted updates by several client transactions, and uncommitted updates by one transaction on a leaf page may migrate to another page in structure modifications. Moreover, a record in a leaf page cached at one client can be updated by one transaction while other records in copies of the same page cached at other clients can simultaneously be fetched by other transactions.
机译:在本文中,我们考虑在数据运输客户服务器数据库系统中的事务管理,在该系统中,物理数据库被组织为稀疏的B±树或B链接树索引。客户事务在索引和数据页的缓存副本上执行其操作。客户事务可以包含“获取第一条(或下一条)匹配记录”,“插入记录”或“删除记录”形式的任意数量的操作,其中数据库记录由其主键标识。针对页面服务器系统开发了在B±树和B链接树上有效执行这些操作的方法。我们的算法保证了逻辑数据库操作的可恢复性,以及物理B±树或B链接树上的树结构修改。使用生理日志记录记录记录更新和结构修改,这些记录由客户端生成并传送到服务器。在正常处理期间,客户端事务中止和回滚是由客户端本身执行的。服务器应用预写日志记录(WAL)协议以及数据和索引页的窃取和无强制缓冲策略。服务器在系统故障后使用基于ARIES的恢复协议执行重新启动恢复。将树结构修改(例如页面拆分和合并)定义为小的原子操作,其中每个操作仅影响B±tree的两个级别,或B链接树的单个级别,同时保留树的结构一致性和平衡性。对于B链接树,我们的平衡条件确保所有页面始终包含至少m个(选定的最小负载因子)记录,并且数据库记录的搜索路径长度永远不会大于树高的两倍。 。删除操作通过插入进行统一处理,以便通过将页面合并到其兄弟页面中或在两个兄弟页面之间重新分配记录来处理下溢。使用单个生理重做日志记录记录每个结构修改。因此,在事务回滚或重新启动恢复期间,无需取消结构修改。我们的算法允许数据和索引页的事务间缓存,这样即使客户端当前没有活动的事务,页面也可以驻留在客户端缓存中。缓存一致性由基于回调锁定的副本管理协议来保证。在我们的一组算法中,并发控制协议和副本管理协议都在页面级别运行。这些算法最适合于需要长期编辑会话的面向对象的数据库和CAD / CAM应用程序。我们的另一组算法是为一般数据库应用程序设计的,在这些数据库中并发和事务吞吐量是主要问题。在这些算法中,通过密钥范围锁定协议确保事务隔离,并且副本管理以自适应方式进行操作,因此仅可以回调所需的记录。现在,一个叶子(数据)页面可能包含几个客户事务未提交的更新,而叶子页面上一个事务的未提交更新可能会在结构修改中迁移到另一个页面。此外,在一个客户端缓存的叶页中的记录可以由一个事务更新,而在其他客户端缓存的同一页副本中的其他记录可以由其他事务同时获取。

著录项

  • 作者

    Jaluta Ibrahim;

  • 作者单位
  • 年度 2002
  • 总页数
  • 原文格式 PDF
  • 正文语种 en
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号