主内存数据库中 B+-Tree 与 CSB+-Tree 评估及 Oracle 数据库安全防护
一、主内存数据库中 B+-Tree 与 CSB+-Tree 分析
1.1 索引在主内存数据库中的重要性
在数据库系统中,索引对于加速数据访问至关重要。主内存数据库常用的索引有 B+-Tree、T-Tree 及其变体。与面向磁盘的数据库相比,主内存数据库的成本模型更为复杂,相关研究相对较少。
1.2 B+-Tree 和 CSB+-Tree 结构
- B+-Tree 结构 :B+-Tree 是 B-Tree 的变体。所有键都存储在叶子节点,内部节点仅包含指向叶子节点的指针。内部节点被划分为多个范围,每个范围指向一个子树。叶子节点存储键和指向数据或记录行 ID(RID)的指针,同一层的相邻节点通常相互链接,以方便范围查询。B+-Tree 仅在叶子节点存储键或记录的 RIDs,而非整个记录,这减少了查询中的不必要读取和缓存缺失。
- CSB+-Tree 结构 :CSB+-Tree 是 B+-Tree 的变体,为充分利用缓存,减少了 B+-Tree 的指针数量,增加了内部节点中的键数量。内部节点的所有子树形成一个节点组并连续存储,内部节点仅存储指向最左侧子树的指针,其他子树的地址可根据节点组的连续存储计算得出。叶子节点存储键、记录的 RIDs 以及指向兄弟节点的两个指针。由于 CSB+-Tree 内部节点包含的键比 B+-Tree 多,因此它具有更大的扇出和更小的树深度,能显著减少数据搜索中的缓存缺失。但连续存储的节点组使节点分裂比 B+-Tree 更昂贵,即 CS
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



