quickdb简介,基于内存文件系统的key-value存储

quickdb是由七夜同学开发的一个key-value存储系统,与普通的NoSQL系统不同的是,它是基于内存文件系统的,也正是通过内存文件系统来提高数据的访问速度。

下面是来自其七夜的简介:

quickdb 是一款基于内存文件系统的 HashTable数据结构的Key-Value数据引擎,什么是内存文件系统了?就是操作系统把系统内存划出一部分当作硬盘使用。你可以像操作磁盘那样的操作内存。但效率远远比硬盘来的快多了。通俗叫做内存文件系统,只要服务器不重起数据将一直都在。

通俗的来讲 redis、memcached是自己申请内存管理数据。当进程重启或者挂了就会丢失数据。quickdb是把实体数据储存在内存文件系统里的。当quickdb进程挂了,  实体数据依然还在。 一个进程可能因为各种原因比如修改了配置文件或者要调试数据。要经常重启。但是一个服务器不可能三天两天的重启或者死机。 一般服务器都是半年,或者 好几年都不重起的。 如果你的服务器经常断电或者死机重启那就不叫服务器了。叫家用电脑了。嘿嘿  为了起见,quickdb可以定期的从内存文件系统的数据同步到磁盘中去。这样当服务器重启,也不会丢失数据。 简单的来讲,进程可能会经常因为各种原因要重启或者挂了,但是服务器不可能经常重启或者死机。这样很大程度上保证了数据持久性,也保证了读写效率。

quickdb性能很高,下面是其测试数据:

  • 写入3145739条数据 花费4.38秒(qps: ~72w
  • 读取 3145739条数据花费3.88秒(qps: ~81w

quickdb下载地址:code.google.com

更多详细介绍请参见作者博客的介绍:www.cellphp.com

anyShare一切看了好文章不转的行为,都是耍流氓!
          

无觅相关文章插件,快速提升流量

  1. 每天全新Append-only file方式备份。 比如在每天访问量最少的时候,锁定数据库,把完整数据同步到硬盘里,同步完后。之后的插入、更新命令,fwrite到日志里。 每天全新备份。

  2. 但是quickdb里面现在还没有这些设施,没有锁定数据库机制。是用开处理冲突方式来做的,但是看得出你要做rehash以及compress,但是beta里面有没有.基于内存文件系统这点想法非常有意思.:).