|Subject||Re: [Firebird-Architect] Call me maybe: NuoDB|
One last thought. Under the definition of availability used in an academic "proof" of the CAP "theorem", if you had a cluster of 100 servers running a database and somebody yanked the patch cord to one single server, by definition the database would be termed unavailable because the isolated node couldn't pump transactions.
On May 5, 2015, at 7:57 AM, Jim Starkey <jim@...> wrote:
In essence, it depends on the definition of availability. If availability requires that post partition all surviving nodes must be to work consistently without communication, it is true but reduces to the blinding obvious statement, "there can't be consistency without communication.The more interest question is whether a system can be design that guarantees consistent availability post partition. The argument that a surviving partition isn't available to nodes that can't reach it is valid but meaningless.The poor fellow had a lot of trouble understanding MVCC. He has a lot of company there. Even Stonebreaker is pretty much clueless. If the only thing you understand isctwo phase record locking, the universe like pretty bleak, rigid place.The deeper question is the meaning of consistency. You can define it in all sorts of useful ways that don't require serializability. I think, in fact, the only thing that does require serializability is a correct implementation of two phase record, etc, locking.If a transaction see a stable view of the database, can't overwrite any data it couldn't see, and honors all declared consistency constraints, then the system is consistent.
On May 5, 2015, at 2:09 AM, mapopa@... [Firebird-Architect] <Firebird-Architect@yahoogroups.com> wrote: