>> "Physical clustering"? What is that supposed to be?
>> Can you please define the difference between "logical" and "physical"
>> clustering? I don't understand what you're getting at.
Well, it is just a terminology we have here.
What I call physical clustering is a cluster relying on the OS kernel
and hardware to implement HA mechanisms (VIPs, quorum devices,
private network, fencing, etc ...) Physical clusters can be used to
implement share-everything (Oracle RAC) or share-nothing stores
(MySQL master/slave). In CAP terminology, they are typically used to
support CP systems. In case of failure, you get reliability and
consistency. However, when the cluster reconfigure itself to evict
nodes, VIPs are moving (i.e. at a point the addresses are not anymore
on the network), filesystems may have to be unmounted/mounted,
and it takes time. So you only have "eventual" availability.
Logical clusters are implemented without any support from specific OS
level services or hardware, just by using fancy distributed algorithms
They are typically used to implement AP share-nothing stores (still
using CAP terminology). Examples of well-known AP logical clusters are
Cassandra and Riak. Couchbase, or MySQL Cluster are other examples,
even if I'm not sure they are strictly AP systems.
One of the benefit of logical clusters is availability may be guaranteed while
the cluster is reconfiguring itself (this is due to the fact no VIP is used).
With this terminology, Redis Cluster is clearly a logical cluster
(somewhat similar to Couchbase).
Redis Sentinel is trying to provide a simple HA solution by emulating a logical cluster,
using unconventional, simpler, minimalist algorithms. I guess the reliability of
this approach remains to be proven, but it is a very interesting project.
Regards,
Didier.