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");