Javaweb的存储性能(1)

本文介绍了B+树和LSM树两种数据结构的特点及应用场景。B+树适用于传统关系数据库,通过多级索引提高数据检索效率;而LSM树则常见于NoSQL数据库,利用内存操作减少磁盘访问,提升读写性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



B+树与LSM数


为了改善数据访问特性,文件系统或者数据库系统通常会对数据排序后存储,加快数据的检索速度,这就需要保证数据在不断的更新、插入、删除后依然有需,传统关系数据库的做饭就是使用B+数。
B+树


说白了,B+树就是一棵N叉排序树。以节点为存储单位,从根节点开始检索(节点编号和物理位置),将其加载到数据库,再找子节点,直到找到所需数据。
目前大部分的关系型数据库都采用的二级索引的B+树,树的层次最多三层(所以可能需要5次检索才能更新一条记录)。


LSM树(之前没怎么听说过)
目前大多数的NoSQL(非关系型数据库——Not Only SQL)
LSM可以看作一个N阶合并树。数据操作(插入、修改、删除)都在内存中进行,并且都会创建一个新纪录(修改会记录新的数据值、未删除会记录一个删除标志),这些数据在内存中仍然还是一颗树,当数据量超过设定的内存设定阈值后,会将这棵树和磁盘中最新的的排序树合并。当这棵树排序的数量超过也超过设定阈值后,和磁盘上下一集的排序树合并,合并过程中,会用最新更新的数据覆盖旧的数据(或记录为不同版本)。
当其读操作主要集中在最近写入的数据时,使用LSM树可最大程度减少磁盘的访问次数(减少磁头的移动速度),加快访问速度。




当然,B+不是只能用于关系数据库,LSM也不是只能用于NoSQL.或许随着SSD存储技术的逐渐成熟,B+树又会变得不一样吧。(现在SSD还是好贵啊,那个网站用得起??)
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值