赞,学习了。
我是用b+搞过fs。说说一些经验吧,高性能存储系统一般增删改查,对元数据操作比较频繁。b+是把原数据都放在非叶节点,比较紧凑,在空间有限的内存里效率高,空间低。频繁操作的节点还会cache住进一步提升。元数据持久化方面结合log机制,减少频繁的随机访问。
【 在 milksea 的大作中提到: 】
:
: 没啥不好,现代一点的内存容器库就经常用B树了,比如C++的absl就有btree_map,rust标准库用BTreeMap。
:
: B树在一个块内是线性操作的过程,跨块操作才是对数时间。理论上二叉平衡树需要的都是对数操作数量,总操作数量少;但现代处理器因为缓存的因素,B树的存储局部性更好,实际效率可能更好。
: 【 在 hgoldfish 的大作中提到: 】
#发自zSMTH@ALN-AL00
--
FROM 116.30.100.*