youdb 一个操作简单的k-v数据库

By ego008 at 2017-11-11 22:12 • 102次点击
ego008

youdb 是为youBBS 量身定做,在给youBBS golang 版配个数据库时,目标是个嵌入式k-v 数据库,leveldb 和 boltdb 被选中。

boltdb 被认为是在现代kye/value存储中最好的,还支持完全可序列化的ACID事务,读性能稍好,数据保存在一个单独的内存映射的文件里。
leveldb 是google 开发的,没的说,写性能非常棒,读性能稍逊,数据“分层”保存在多个文件里。

这两个都是低层数据库,其结构、api 都很简单,优点是可以按key 排序,充分利用这个特性可以满足youBBS 所需的数据结构。但还有个欠缺,要是还能够按照value 排序就好。

于是就在boltdb 上做一层封装,支持hash、zset 两种数据结构,也让操作更简单。

接口简单示例:

db.Hset("bucket", []byte("k"), []byte("v"))
db.Hget("bucket", []byte("k"))
db.Hdel("bucket", []byte("k"))

db.Zset("bucket", []byte("k"), 1000)
db.Zget("bucket", []byte("k"))
db.Zdel("bucket", []byte("k"))

相关项目地址:
youdb https://github.com/ego008/youdb 9
bolt https://github.com/boltdb/bolt 3
goleveldb https://github.com/syndtr/goleveldb 2

youdb, 数据库


目前尚无回复
登录 后发表评论