06 2012 档案
摘要:就在近日,Facebook宣布开源了内部使用的C++底层库,总称folly,包括散列、字符串、向量、内存分配、位处理等,以满足大规模高性能的需求。这里是folly的github地址:https://github.com/facebook/folly在folly项目的Overview.md中,谈到了folly库的初衷:It complements (as opposed to competing against) offerings such as Boost and of coursestd. In fact, we embark on defining our own component o
阅读全文
摘要:本文仅仅从应用的角度来谈一谈Berkeley DB中锁相关的理论与实践经验,接下来还会有一篇博客来介绍BDB锁的内部实现。锁粒度除了Queue Access Method,其他所有的Access Pattern都是页级锁(page-level locking),而Page大小默认为操作系统filesystem的block size(Linux下默认为4K)。(可以通过减少Page大小,使一个Page上容纳更少的记录来减少页级锁粒度,但是减小Page会影响数据库的IO效率,在缺乏足够性能数据支撑的情况下,很少会这样做。) BDB的页级别的锁粒度一向是比较恼人的问题,由于Queue并不常用(ke.
阅读全文