首页 > IT基础架构 > > 为日志而生的存储引擎
详细设计文档:Documentation · Issue #1 · esdb/lstore
A log storage engine, that supports
It is trivial to achieve both goals by storing the log into a relational database, or a key-value store, or a search engine. However, generic storage system is not cost efficient to store log of immutable entries. If we only support "append-only" data, a great deal of optimization is possible. The goal of lstore is to be more than 10x cost efficient than traditional storage systems (still working on that).
Conditional log append is a crucial feature to make lstore reusable in a wide range of scenarios. Any kind of optimistic locking relies on some sort of conditional log append. It is like the lock cmpxchg instruction for the distributed world.
A high level summary of the storage format is "bloomfilter tree of log blocks". Majorities of storage systems built on top of sorting. They works like disk backed tree. However, lstore is built on top of hashing. It works like disk backed hashmap. The architecture is similar with bitcask. But unlike bitcask, lstore is a low level append-only log store, instead of mutable key-value store.
List of optimizations:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31509949/viewspace-3128459/ ,如需转载,请注明出处,否则将追究法律责任。