tikv / rocksdb

A library that provides an embeddable, persistent key-value store for fast storage.
http://rocksdb.org
GNU General Public License v2.0
120 stars 93 forks source link

About encryption #340

Closed acelyc111 closed 1 year ago

acelyc111 commented 1 year ago

Hi, I found tikv/rocksdb has enhanced the encryption feature than facebook/rocksdb, is there a plan to submmit the related patches to facebook/rocksdb? I'm developing the apache/incubator-pegasus project which is using rocksdb as the storage engine, researching encryption feature. Thanks!

tabokie commented 1 year ago

Hi, we don't have the bandwidth right now to prioritize syncing with upstream. In addition, the changes surrounding encryption are mostly plugins, they don't interact with core RocksDB functionality.

You are welcome to use/cherry-pick our code if you are interested in the features we added. I have already aggregated them into one PR: https://github.com/tikv/rocksdb/pull/279.

acelyc111 commented 1 year ago

@tabokie Thanks for your information, it's very helpful!

acelyc111 commented 3 months ago

@tabokie I've implemented a RocksDB plugin according to the tikv/rocksdb encryption implementation. The main difference is the encryption key is stored at the file header instead of an external file.

https://github.com/pegasus-kv/encfs