该方案大约有 10 亿条记录。每条记录的数据大小为 1kb,存储在 SSD 中。哪个kv store可以提供最好的随机读取性能?它需要将磁盘访问减少到每个查询仅 1 次,并且所有数据索引都将存储在内存中。
Redis 速度很快,但在内存中存储 1 TB 数据太贵了。LevelDB 每次查询都会多次读取磁盘。我发现的最接近的是 fatcache,但它不是持久的。它是一个由 SSD 支持的内存缓存。
有什么建议么?
该方案大约有 10 亿条记录。每条记录的数据大小为 1kb,存储在 SSD 中。哪个kv store可以提供最好的随机读取性能?它需要将磁盘访问减少到每个查询仅 1 次,并且所有数据索引都将存储在内存中。
Redis 速度很快,但在内存中存储 1 TB 数据太贵了。LevelDB 每次查询都会多次读取磁盘。我发现的最接近的是 fatcache,但它不是持久的。它是一个由 SSD 支持的内存缓存。
有什么建议么?
LMDB is faster than RocksDB and uses 1/3rd as much memory. Also LMDb requires no tuning; RocksDB requires careful tuning of over 40 parameters to get performance that approaches LMDB's.
http://www.lmdb.tech/bench/inmem/scaling.html
Also LMDB is fully transactional and 100% crash-proof, RocksDB is neither.
你看过 aerospike 吗?我没有使用它,但他们声称在 SSD 上有很好的性能。