KeyDB icon indicating copy to clipboard operation
KeyDB copied to clipboard

[NEW] KeyDB FLASH Support - release date

Open raphaelauv opened this issue 3 years ago • 13 comments

Support for KeyDB FLASH using the RocksDB engine will become available September 2022

do you still plan to release this month the RocksDB engine ? thanks

raphaelauv avatar Sep 08 '22 18:09 raphaelauv

Hi, @JohnSully can we know anything about this? Thanks!

agosalvez avatar Sep 22 '22 09:09 agosalvez

I'm also interested in this I can add leveldb support, rocksdb can act as example. I found some files indicating rocksdb support but since you're planning release of rocksdb support I don't see a reason of implementing it on my own.

pr4u4t avatar Sep 22 '22 16:09 pr4u4t

We are currently planning on introducing this to the unstable (Main) branch on Friday (Sept 30) where you can view/build/try. We will publish this to the Docker 'unstable' image at that time as well.

We will be planning a larger 6.4 release at a later date which will include the FLASH build in all distributions.

benschermel avatar Sep 26 '22 18:09 benschermel

Hi Folks, sorry for the delay, we are waiting on a final validation but hope to have this out in the next few days :) We will keep you posted as soon as soon as its available

benschermel avatar Oct 05 '22 05:10 benschermel

It's much more powerfull to use nvme 2.0 's key value storage interface than RocksDB. Hope there be such a version in future.

doptime avatar Oct 05 '22 12:10 doptime

I'm really looking forward to this version, which will allow me to save a lot of data on disk instead of in memory

jiangsi avatar Oct 05 '22 16:10 jiangsi

It's much more powerfull to use nvme 2.0 's key value storage interface than RocksDB. Hope there be such a version in future.

As stated in specification nvme key-value storage is implemented in RocksDB compatible library see page 27. I'm willing to do this as I'm in need all I'm waiting is flash storage to be available.

pr4u4t avatar Oct 05 '22 17:10 pr4u4t

always use nvme 2.0 key-value storage. It cut down disk io to 1/6, compared with other db according to samsung's early study. It reduce flash write amplification to 1.0, while redis rdb has a write amplification ratio over 1000. It's fast, typically, it can provide more than 2M+ iops with lowest latency. Some studies shows one nvme key-value disk can relace 50 xeon kernels that running rocksdb, using about 1/100 power and zero system memory. nvme 2.0 kv disk can get LINEARY PERFORMANCE GROWTH while number of disk increase. Other db usually get a log-like performance growth using same single db interface. it never lost data,once data send to disk. It won't create a db file like rocksdb which always expanding its size, and awkward to shrink size. It's cheap and easy available when time comes to 2023.

doptime avatar Oct 09 '22 01:10 doptime

Just a heads up the code is out in the OSS_RELEASE_SEP branch. @benschermel will be prepping the release images.

To avoid a repeat of problems with 6.3 even though this has been deployed successfully with customers in the past we will mark the flash feature as Beta.

JohnSully avatar Oct 09 '22 02:10 JohnSully

By the way integrating with Snap has been a learning experience and I’ve gained a bigger appreciation for the issues on the control plane side. I apologize for how much time this has taken with me away from the project.

JohnSully avatar Oct 09 '22 02:10 JohnSully

@JohnSully @benschermel Great thanks I'll proceed with flash testing and adding nvme support.

pr4u4t avatar Oct 10 '22 14:10 pr4u4t

@yangkequn @pr4u4t Very interesting this native NVMe K/V. It seems a different issue though, but wow what a potential!

dokterbob avatar Oct 18 '22 09:10 dokterbob

Any news on this?

tsiege avatar Nov 16 '22 23:11 tsiege

https://github.com/Snapchat/KeyDB/releases/tag/v6.3.2

raphaelauv avatar Jan 23 '23 17:01 raphaelauv