内存B树(例如google btree)的某些C ++实现与LMDB(不考虑LMDB的所有功能,例如事务,隔离,共享访问等)之间的性能差异(读/写)将是多少? )?
这2014 lmdb设计呈现由它的建筑师霍华德楚覆盖的设计和权衡lmdb
。
总结一下:lmdb
是一种写时复制,自下而上更新,双缓冲,b树,其中,在与其他考虑因素冲突时,实现总是倾向于简化。
在巧妙的设计选择,使其最高的性能和耐腐败-B树实现的一个在那里。
lmdb
依赖底层操作系统进行缓存显然,这些选择意味着lmdb
对复杂的场景不友好,例如:
lmdb
倾向于使用更简单的多个读取者和单个写入者方案完整(超过100页)的演示文稿中还有更多内容。以上只是精神的总结lmdb
。
lmdb
在诸如Open LDAP和Memcached之类的著名开源项目中,它被用作核心存储引擎,并且在这两种情况下,与替代方案相比,在微观基准测试结果中都可以观察到数量级的提升。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句