Disagree. The underlying problem is consensus [0], which can usually be solved. For example, read about bitcoin, which got some attention here recently. It provides global money transactions within a distributed system.
Of course distributed systems can be built, of course there are mechanisms to reach consensus between nodes.
However such a system needs to be designed from ground up to cope with partitioning. And one MUST accept that there will be conflicts in the system - and that some of them won't be resolvable automatically or in timely fashion. Its a trade off that cannot be avoided.
And I have sat in more than one meeting where customers and my bosses demanded that I violate laws of physics and provide them with a distributed solution that will have no errors whatsoever.
Edit: And work faster than a single node solution to top it off.
Comments
Disagree. The underlying problem is consensus [0], which can usually be solved. For example, read about bitcoin, which got some attention here recently. It provides global money transactions within a distributed system.
[0] http://en.wikipedia.org/wiki/Consensus_(computer_science)
The OP is writing about transactions.
Of course distributed systems can be built, of course there are mechanisms to reach consensus between nodes.
However such a system needs to be designed from ground up to cope with partitioning. And one MUST accept that there will be conflicts in the system - and that some of them won't be resolvable automatically or in timely fashion. Its a trade off that cannot be avoided.
And I have sat in more than one meeting where customers and my bosses demanded that I violate laws of physics and provide them with a distributed solution that will have no errors whatsoever.
Edit: And work faster than a single node solution to top it off.
Which is why I wrote the post. I go fed up with repeating myself as people demanded the same of me!
You mean - when you linked it! I seem to remember writing it myself.