khonsulabs / bonsaidb

A developer-friendly document database that grows with you, written in Rust
https://bonsaidb.io/
Apache License 2.0
1.02k stars 37 forks source link

Implement quorum-based clustering #104

Open ecton opened 2 years ago

ecton commented 2 years ago

A timely post by Martin Fowler on Two Phase Commit with explanations of several conflict resolution approaches.

I think BonsaiDb's approach can be quite simple due to transactions being performed in a single step. I have been trying to decide if there is a possibility for a deadlock pattern to arise given the current design. If there is, I believe either wound-wait or wait-die strategies would work for resolving it.