rosedb(内嵌k-v数据库) V1.2.8 官方版下载

rosedb是一个稳定、高性能、快速、内嵌的k-v数据库,知识兔支持多种数据结构,包含String、List、Hash、Set、SortedSet,接口名称风格和Redis类似。rosedb基于简单的bitcask模型,数据文件布局类似LSMTree中的WAL日志,纯Golang实现,易于使用、扩展。

rosedb

【特色说明】

支持丰富的数据结构:字符串、列表、哈希表、集合、有序集合。

内嵌使用简单至极,无需任何安装部署。

低延迟、高吞吐(具体请见英文 README 的 Benchmark)。

不同数据类型的操作可以完全并行。

支持客户端命令行操作。

支持过期时间。

String 数据类型支持前缀和范围扫描。

【实例介绍】

一个 rosedb 实例,其实就是系统上的一个文件夹,在这个文件夹中,除了一些配置外,最主要的便是数据文件。一个实例中,只会存在一个活跃的数据文件进行写操作,如果知识兔这个文件的大小达到了设置的上限,那么这个文件会被关闭,然后知识兔创建一个新的活跃文件。

其余的文件,称之为已归档文件,这些文件都是已经被关闭,不能在上面进行写操作,但是可以进行读操作。

所以整个数据库实例就是当前活跃文件、已归档文件和其他配置的一个集合:

rosedb

在每一个文件中,写数据的操作只会追加到文件的末尾,这保证了写操作不会进行额外的磁盘寻址。写入的数据是以一个个被称为 Entry 的结构组织起来的,Entry 的主要数据结构如下:

rosedb

因此一个数据文件可以看做是多个 Entry 的集合:

rosedb

所有的写入、删除、更新操作,都会被封装成一个 Entry,追加到数据文件的末尾。一个 key 可能会被多次更新,或者被删除,因此数据文件当中可能存在冗余的 Entry 数据。在这种情况下,我们需要合并数据文件,来清除冗余的 Entry 数据,回收磁盘空间。

下载仅供下载体验和测试学习,不得商用和正当使用。

下载体验

请输入密码查看下载!

如何免费获取密码?

点击下载

评论