B+树
- 简介:为了改善数据访问特性,文件系统或数据库系统通常会对数据排序后存储,加快数据检索速度。传统关系数据库的做法是使用B+树,保证数据在不断更新、插入、删除后依然有序。B+树结构如下图所示。
- B+树是一种专门针对磁盘存储而优化的N叉排序树,以树节点为单位存储在磁盘中,从根开始查找所需数据所在的节点编号和磁盘位置,将其加载到内存中然后继续查找,直到找到所需的数据。
- 目前数据库多采用两级索引的B+树,树的层次最多三层,因此可能需要5次磁盘访问才能更新一条记录(3次磁盘访问获得数据索引以及行ID,然后再进行一次数据文件读操作以及一次数据文件写操作)
LSM树
- 简介:目前许多NoSQL产品采用LSM树作为主要数据结构。LSM树如下图所示。