kvrocks icon indicating copy to clipboard operation
kvrocks copied to clipboard

Storage: Investigate O_DIRECT on RocksDB

Open mapleFU opened this issue 5 months ago • 0 comments

Search before asking

  • [x] I had searched in the issues and found no similar issues.

Motivation

Currently, the hardware is becoming faster and faster. O_DIRECT is supported by rocksdb [1], and allowed to be enabled by MyRocks and other applications.

Now, for reader, there're two ways to bypass kernel buffer and user buffer:

  1. mmap, which shares the buffer among kernel and user space
  2. O_DIRECT, forcing aligned read

RocksDB has limited support for mmap, see [2]. O_DIRECT might enhance performance, but it also has some counter parts, see [3]

[1] https://github.com/facebook/rocksdb/wiki/Direct-IO [2] https://smalldatum.blogspot.com/2022/05/using-mmap-with-rocksdb.html [3] https://github.com/facebook/rocksdb/issues/6448

Solution

The code would be easy, perhaps the most important thing is setting up benchmark on different machines

Are you willing to submit a PR?

  • [x] I'm willing to submit a PR!

mapleFU avatar Jul 18 '25 08:07 mapleFU