NutsDB是用纯Go语言编写的一个简单、高性能、嵌入式、持久化的键值数据库。
NutsDB支持事务,从v0.2.0之后的版本支持ACID的特性,建议使用最新版本。在v0.2.0版本之前,它保持了高性能,没有同步,但写入性能很高(本地测试显示,百万数据以40~50W /s写入)。的所有操作都在事务中执行。NutsDB从v0.2.0开始就支持多种数据结构,如列表、集合和排序集合。从0.4.0版本开始,增加用户自定义配置读写模式、启动时文件加载模式、同步是否开启等。
与其他数据库的比较
BoltDB
BoltDB和NutsDB非常相似。它们都是嵌入式键值数据库,支持事务。Bolt基于只有一个文件的B树引擎模型,NutsDB基于bit木桶引擎模型,会生成多个文件。当然,它们都支持范围扫描和前缀扫描这两个实用功能。
级别数据库
LevelDB和RocksDB基于LSM树模型。不支持桶。RocksDB还没有看到golang实现的版本。
獾
獾也是基于LSM树模型。但是写作成绩没有我预期的高。不支持桶。
另外,以上数据库都不支持列表、集合、排序集合等多种数据结构,但是NutsDB从0.2.0版本开始就支持这些数据结构。
Github地址:https://github.com/xujiajun/nutsdb
Github星号:905
推荐索引: