blp模型 上读下写_读写模型整理笔记

本文详细介绍了数据库的读模型,包括主键读、指定页查询、范围查询、全数据扫描、全文检索及前缀/后缀匹配。在写模型方面,讨论了异步更新、队列/双端队列、批量写、根据查询结果更新、插入或更新以及更新到多个复制。这些模型在不同场景下各有优势,对理解数据库性能至关重要。
摘要由CSDN通过智能技术生成

读模型

1、主键读

最常见的读模型,说是主键,其实也包括其它索引键,或者联合主键。

常见实现:hash,时间复杂度可以接近 O(1);B 树或变种:时间复杂度接近 O(log(n))。

关于 B 树和变种:

B 树(B-树):本质上是二叉查找树的升级版,变成了平衡的 N 叉查找树,这个 N 的范围根据磁盘一次读取的块大小来调整,这样复杂度 log n 的底数就从 2 变成一个更大的数,减少了树的高度。除此以外,还有一些额外的优化,比如为了插入和删除的性能考虑,通常准备一些预留的空间,只要在当前块或者邻近块中找到空间写入,就避免了开销巨大的所有记录向后偏移的操作。

B 树的阶:

一棵 m 阶的 B 树最多有 m 棵子树;

根节点至少有两棵子树;

每个非根分支节点至少有 ceil(m/2) 棵子树;

叶节点全部在同一层;

有 x 个孩子的非叶节点恰有 x-1 个递增排列的关键字。

图片来自此页面。

B+树:和 B 树相比,改变的地方包括:

全部关键字信息都放在叶子节点;

所有叶子节点串成一个 linked list 以便搜索;

存放重复的搜索键。

B*树在 B+树基础上做了进一步改进:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值