Would it be possible to have a system over BDR that allows a single transaction to opt in for syncronous operation where "commit" logically means "do prepared transaction on all masters and rollback everywhere in case of conflict"? Obviously that could be really slow but the client application could opt-in for that behavior for highly critical transactions and wait but the whole cluster wouldn't need to be configured synchronous for everything. And that would mean that those transactions fail always if even a single master is offline but that should be okay for critical transactions because those are designed to retry until successful because such transactions should always run at serialized isolation level on single database system, too. Many client applications mostly do transactions that do not need to be syncronized but sometimes a rare transaction is much much easier to create as syncronous & slow than creating alternative implementation that's asyncronous. I'd expect all master servers to be running in parallel most of the time in all well-behaving systems.
@daniel.deflax6 жыл бұрын
Thanks
@namefn34924 жыл бұрын
BDR - rare public version update, not open-source solution