Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I am sure there are use-cases where the risk of this design is acceptable (or necessary), but ensure you have a plan for dealing with data inconsistencies!

I'd argue most non-financing applications would find these risks acceptable. This form of Multi-Master is what most people writing web-based applications actually are looking for. It simplifies having fail-over, at the costs you mentioned, but those aren't a major issues, especially if they're known upfront.

> * Datasets will diverge during network partitioning

> * Convergence is not guaranteed without a mechanism for resolving write conflicts

While this isn't ideal in a perfect world, it's workable for, again, web-based applications where consistency isn't usually required. Also, the rules are known http://bdr-project.org/docs/stable/conflicts-types.html

So yes, there are definitely workloads where this type of replication isn't appropriate, however, acting like there aren't any is blatantly ignoring many types of workloads.



>acting like there aren't any is blatantly ignoring many types of workloads.

I agree in principle, and if you have the knowledge and means to understand/mitigate the risk, this warning isn't aimed at you ;)

It is aimed at the ignorant, not the negligent e.g the engineer I was 15 years ago - who didn't know what he didn't know and would've chosen BDR simply for its master-master promise without understanding what I am really getting myself into.

I nearly ruined a business by choosing MySQL + NDB few years ago.


If people are using Postgres in a worldwide distributed way, then it's safe to say that they likely have a deep understanding of the issues behind it.

Replication is a problem that n00bs aren't going to touch on their startup site. They're only going to use it when they have hundreds of thousands/millions of users already.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: