首页> 外国专利> Database system with methods providing high-concurrency access in B-Tree structures

Database system with methods providing high-concurrency access in B-Tree structures

机译:具有在B树结构中提供高并发访问的方法的数据库系统

摘要

A Client/Server Database System with improved methods for providing access to highly-concurrent data, such as of B-Tree data structures, is described. When the system receives a request to insert a key value into a B-Tree at page that does not have sufficient room, the system must split at the tree at the leaf level. This is done by allocating a new page, and moving some of the key values from the old page to the new page. The split itself propagates upward. To do the split itself, the system obtains address locks for the two pages, and marks both as undergoing “split” (i.e., a split operation)—the system sets a Boolean flag or “split bit” to “true.” When the split is propagated up, a “side entry” is added to the old page to point to the newly allocated page. The old page, however, may not have sufficient room for storing this new entry (e.g., when it is already full). Accordingly in such a case, the parent page must split also. This is done by allocating a new page, at that level. Both pages, old and new parents, are marked as undergoing split. As before, the system obtains address locks for these pages as well. At this point, a side entry is created in the old parent page. This information serves to let any client which is searching for key value (or greater) know that, instead of going directly down the tree from the old parent page, it should proceed to the parent's new neighboring page. In this manner, a client's traversal down the tree is not blocked by the split which is currently active. In effect, the client knows how to take a detour to arrive ultimately at the proper leaf-level page. After split propagation is complete, the system clears the split flags and releases address locks. Also at this point, the side entry is removed. Now, sufficient room now exists in the tree for inserting the key value.
机译:描述了一种具有改进的方法的客户机/服务器数据库系统,该方法用于提供对高并发数据(例如B树数据结构)的访问。当系统在没有足够空间的页面上收到将键值插入B树的请求时,系统必须在树级别在叶级别拆分。这是通过分配一个新页面并将一些键值从旧页面移动到新页面来完成的。裂缝本身向上传播。为了进行拆分,系统获取了两个页面的地址锁,并将两者都标记为“拆分”。 (即拆分操作)—系统将布尔标志或“拆分位”设置为为“ true”。当拆分向上传播时,会出现“侧面进入”被添加到旧页面以指向新分配的页面。但是,旧页面可能没有足够的空间来存储此新条目(例如,当它已满时)。因此,在这种情况下,父页面也必须拆分。这是通过在该级别分配新页面来完成的。新老父母的页面都标记为正在拆分。和以前一样,系统也获取这些页面的地址锁定。此时,将在旧的父页面中创建一个边条目。此信息可让任何正在搜索键值(或更大)的客户端都知道,与其直接从旧的父页面向下浏览树,不如直接进入父节点的新相邻页面。通过这种方式,客户端在树上的遍历不会被当前活动的拆分阻止。实际上,客户知道如何绕道才能最终到达正确的叶级页面。拆分传播完成后,系统清除拆分标志并释放地址锁定。同样在这一点上,侧入口被移除。现在,树中已有足够的空间来插入键值。

著录项

  • 公开/公告号US6792432B1

    专利类型

  • 公开/公告日2004-09-14

    原文格式PDF

  • 申请/专利权人 SYBASE INC.;

    申请/专利号US19980121791

  • 发明设计人 HANUMA KODAVALLA;NAGAVAMSI PONNEKANTI;

    申请日1998-07-23

  • 分类号G06F173/00;

  • 国家 US

  • 入库时间 2022-08-21 23:19:02

相似文献

  • 专利
  • 外文文献
  • 中文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号