Replies: 3 comments 5 replies
-
Hi @y123456yz Thanks for proposing this. Yes, we have ever discussed about if it's possible to support multiple underlying engines. The biggest obstacle is that Kvrocks's codebase is deeply binding with RocksDB, and it may need a lot of effort to achieve this goal.
From my perspective, I appreciate your interest, and proposals/PRs are always welcome. cc @apache/kvrocks-committers |
Beta Was this translation helpful? Give feedback.
-
hi, @git-hulk |
Beta Was this translation helpful? Give feedback.
-
I'm general -1 with this without any real code implemented. Generally rocksdb might not fit all scenerio, but it can be tunned to fit the most cases. And concepts like Snapshot, Compaction Filter, backup is currently strongly relies on the LSM abstraction. It would be a little tricky to introduce advance features using different abstractions. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Have you considered introducing B+ tree as the storage engine? This can meet the performance requirements of kvrocks in different scenarios.
In the actual test, it was found that rocksdb has the problem of read-write amplification, especially when the data volume is very large. I am researching wiredtiger(the default storage engine of MongoDB). wiredtiger is an excellent storage engine. Compared with rocksdb, wiredtiger has better performance in some scenarios and also has full-chain diagnostic capabilities. I have been researching wiredtiger for many years, am familiar with the source code implementation of wiredtiger's core modules, and have contributed multiple PR to wiredtiger.
If kvrocks has this idea, I would be very willing to complete the development of the wiredtiger plugin supported by kvrocks on my spare weekends.
Thank you. Looking forward to your recovery.
Beta Was this translation helpful? Give feedback.
All reactions