Bitcask 学习笔记
Bitcask 是 Basho 公司设计研发的一款高性能键值数据库,基于日志文件的形式来管理数据,在设计文档中,他们声称实现了数据存储查询的『多快好省』,并且也有许多实践中的案例证明他们确实做到了这一点,例如,豆瓣自主研发的 BeansDB 也在很大程度上借鉴了 Bitcask 的设计思想(他们最近又用 Go 重新实现了一个版本),并用于他们线上服务。文档并不厚,只有简单的六页,所以花一点儿时间通读一遍,学习一下 Bitcask 的设计思路对研究开发自己的存储系统是大有裨益的。 在运行时 Bitcask 把所有数据存在硬盘上,每次写的时候就把数据追加到末尾,所以在性能上能达到媲美内存的速度。 Bitcask 会维护一个 file handler 指向当前正在写的文件,收到写请求就直接把数据追加在当前文件的末尾,而删除动作会写进去一个特殊标记,记录对应的 key 在这次操作中被删除。而读的时




