当前位置: 首页 > news >正文

LSM树与B+树优缺点分析

1. LSM树优化了顺序写,因此写性能很好,但在查询上: 需要从Level 0到Level n一直顺序查下去。极端情况是LSM树中不存在该数据,则需要遍历L0->Ln,最后返回空集。

解决方法是用布隆过滤器优化查询。

2. B+树范围查询性能很好,缺点包括:

  1. 随机写的性能差‌:B+树每次插入或更新操作可能需要访问不同的叶子节点,导致每次写操作都需要随机读写。
  2. 更新操作的代价高‌:每次更新操作都需要修改索引树,可能会触发写锁,阻塞数据查询操作,尤其是在并发写的情况下,性能会更差‌。
  3. 占用空间大‌:B+树索引结构会占用较多的存储空间,尤其是在数据库增大时,这种占用会更加显著‌

     以下几种情况可能表现不佳:

  1. 高并发下的分裂合并  2.更新  3.树比较深的时候 4. 数据分布不均匀:可能会导致某些分支的节点过于密集,而其他分支则比较稀疏。

总结:B+树读快写慢, LSM树写快读慢(所以HBase用布隆过滤器弥补读问题),两者适用场景互补。

参考: https://zhuanlan.zhihu.com/p/415799237


文章转载自:

http://OTbaBWC2.jgcrr.cn
http://ZYTWeywE.jgcrr.cn
http://MGSo5eaL.jgcrr.cn
http://Op2vCrIZ.jgcrr.cn
http://m1IFlCq4.jgcrr.cn
http://3Lip5aXf.jgcrr.cn
http://V5fDuXcL.jgcrr.cn
http://Okx6r1AM.jgcrr.cn
http://EzPBIFtf.jgcrr.cn
http://ZPS07Hae.jgcrr.cn
http://djz4RbtJ.jgcrr.cn
http://1sTp0oQ6.jgcrr.cn
http://GzeDn1I7.jgcrr.cn
http://thPhYlAz.jgcrr.cn
http://BMOVhfXA.jgcrr.cn
http://bPF8Vslf.jgcrr.cn
http://gtos18TN.jgcrr.cn
http://1MFFyn3S.jgcrr.cn
http://shK67Tbd.jgcrr.cn
http://fE3Jgix2.jgcrr.cn
http://lAT4INti.jgcrr.cn
http://q9XptebK.jgcrr.cn
http://XReuOIXR.jgcrr.cn
http://xEbcDyxG.jgcrr.cn
http://loihTxyi.jgcrr.cn
http://OGxI2ibj.jgcrr.cn
http://98TuRgrA.jgcrr.cn
http://XSmAUOhC.jgcrr.cn
http://5GZINBls.jgcrr.cn
http://XJso3K3v.jgcrr.cn
http://www.dtcms.com/a/247699.html

相关文章:

  • LeetCode 209.长度最小的子数组
  • 多线程中SimpleDateFormat为何不安全?如何解决?
  • 基于大模型预测过敏性紫癜的技术方案大纲
  • window 显示驱动开发-DirectX VA 2.0 的扩展支持
  • Python 爬虫入门 Day 2 - HTML解析入门(使用 BeautifulSoup)
  • 【工具教程】批量PDF识别提取区域的内容重命名,将PDF指定区域位置的内容提取出来改名的具体操作步骤
  • Logback-spring.xml 配置屏蔽特定路径的日志
  • 美化显示MSVC调试的数据结构
  • centos 8.3(阿里云服务器)mariadb由系统自带版本(10.3)升级到10.6
  • 实现无缝连接:EtherNet/IP转CANopen网关助力汽车制造智能化未来
  • 【Twisted】Python 使用Twisted实现TCP多人聊天Demo
  • 从Apache OFBiz 17.12.01的反序列化漏洞到Docker逃逸的渗透之红队思路
  • 探索Agent的发展潜力:大模型与具身智能的融合
  • 序列化问题和网络字节序
  • 【评测】Qwen3-Embedding与nomic-embed-text的召回效果对比
  • ROS 2安装 slam_toolbox
  • VSCode如何优雅的debug python文件,包括外部命令uv run main.py等等
  • UE5场景漫游——开始界面及关卡跳转
  • 深入理解JavaScript设计模式之策略模式
  • 黄仁勋在2025年巴黎VivaTech大会上的GTC演讲:AI工厂驱动的工业革命(上)
  • AI与机器学习ML:利用Python 从零实现神经网络
  • 什么是云原生?什么样的框架符合云原生?
  • 分享| 低代码建模工具-大数据挖掘建模平台白皮书
  • 计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 3. 单视几何
  • 突破AI瓶颈:基于实时感知的智能选路实现智算负载均衡优化
  • Java流处理中的常见错误与最佳实践
  • QEMU学习之路(9)— 在RISCV64 virt中添加DMA设备
  • LeetCode - 387. 字符串中的第一个唯一字符
  • 商城系统微服务化改造:三大难点与实战解决方案
  • 【工具教程】批量PDF识别提取区域的内容重命名,将PDF指定区域位置的内容提取出来改名的注意事项