RocksDB最近比较火,最近大量涌现的国产数据库引擎大多都是RocksDB的套壳产品。它是使用C++编写的嵌入式kv存储引擎,由Facebook基于levelDB开发, 提供向后兼容的levelDB API,主要具有如下特点:
- 针对Flash存储进行优化,延迟极小。RocksDB使用LSM存储引擎,纯C++编写。Java版本RocksJava正在开发中。参见RocksJavaBasic。
- 依靠大量灵活的配置,使之能针对不同的生产环境进行调优,包括直接使用内存,使用Flash,使用硬盘或者HDFS。支持使用不同的压缩算法,并且有一套完整的工具供生产和调试使用。
在.net环境下,可以通过RocksDbSharp等开源库实现对rocksdb调用的封装,
首先安装Nuget包,
install-package RocksDbSharp
install-package RocksDbNative
下面是一个简单的示例:
var option = new DbOptions().SetCreateIfMissing();
using var db = RocksDb.Open(option, @"r:db_test");
db.Put("key", "value");
var value = db.Get("key");
db.Remove("key");