2023-12-05
数据库底层存储模型什么方式更好呢?
数据库底层的这3种存储模型(B-Tree、B+Tree、LSM),哪种方式更好呢?
B-Tree是一个多叉平衡(B 是 Balance)搜索树,能够保持数据有序,常被应用在数据库和文件系统的实现上。与二进制相比,B-Tree中的每个节点都有多个分支,即多叉。B-Tree减少定位记录时所经历的中间过程,从而加快存取速度。此外,由于insert/delete数据会破坏B-Tree的性质,因此在insert/delete时,需要对Tree进行一个分裂、合并、转移等操作,以保持B-Tree性质。B+Tree是B-Tree最常见的变种,是在B-Tree上进行了优化改进,有着比B-Tree更高的查询性能,虚谷数据库和MySQL都是使用B+Tree实现其索引结构,特点是能够保持数据稳定有序。LSM-Tree(Log-Structured Merge-Tree)是日志结构合并树,基于硬盘的数据结构,OceanBase、TiDB、Cassandra都是使用LSM-Tree,它的架构分为内存部分和有序的磁盘部分,内存部分实现高速写,有序的磁盘部分实现高效查。适用于索引insert(delete)比查询更频繁的应用场景。与B-Tree相比,能显著地减少硬盘磁盘臂的开销,并能在较长的时间提供对文件的高速insert(delete)。然而在查询需要快速响应的情况下性能不佳。 我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论
