kvrocks
kvrocks copied to clipboard
Storage: Investigate O_DIRECT on RocksDB
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:
mmap, which shares the buffer among kernel and user space- 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!