Open Henry2SS opened 1 year ago
Are there any data related to reliability of RaftKeeper? Is braft is a good candidate?
@dataroaring Thank you for your reply. RaftKeeper has used 60+ sets online in our company. It has been running stably online for more than a year, and it was only recently open-sourced to github.
The braft system is huge and complex. RaftKeeper uses nuraft, the nuraft library is smaller and more concise, with fewer dependencies. If it is based on RaftKeeper transformation, it will be much more convenient, including performance optimization and other tasks do not need to be repeated.
@dataroaring you mean consistency test such as Jepsen
?
Search before asking
Description
The content of this issue is also placed in the discussion area.
Background
Background Now doris uses BDBJE to process metadata log. In the scenario of high concurrent writing, there are performance problems.
The write latency of BDBJE is between 1 ms and tens of ms, and only supports single concurrent write. The theoretical maximum TPS is around 1000. Therefore, there are serious performance problems in high-concurrency writing scenarios.
Pressure test
We tested doris' BDBJE with only one FE node on creating databases. In the locked state, the write TPS is about 800+; in the case of removing the lock, the write TPS is about 1500+.
Industry Mainstream
ZK writes TPS 30000+. RaftKeeper writes TPS at 70000+. RaftKeeper Benchmark
The scheme to use raft
Current situation of Doris FE:
The general idea of Raft management Log:
RaftCore Design:
RaftJournal Design:
Solution
use RaftKeeper instead of BDBJE
Are you willing to submit PR?
Code of Conduct