Cassandra中的无主模型与MongoDB中的主-从模型?

use*_*603 5 mongodb cassandra nosql

我知道在Mongo中,我们可以有一个主机和多个从机,其中主机将用于写操作,而从机将用于读取操作。假设M1,M2,M3是以M1作为主节点的节点

但是我读到Cassandra据说是一种无大师模式。据说每个节点都是主节点。我没有得到什么意思?

假设M1,M2,M3是Mongo中以M1作为主节点的节点,而M2,M3是Mongo中的从节点,我相信写入将始终进入M1,而读取将始终进入M2,M3

说C1,C2,C3是Cassandra中的节点,在这里我相信写入和读取请求可以到达任何节点。这就是为什么它被称为无主模型。

Ev3*_*ing 7

没错,Cassandra中的节点相等,并且所有节点都可以响应用户的查询。这是因为Cassandra 在CAP定理中选择了AvailabilityPartition Tolerance(而MongoDB选择了Consistency and Partition Tolerance)。通过简单地将新节点添加到节点环以处理更多数据,Cassandra可以具有线性可伸缩性。

这里的权衡是一致性问题。在Cassandra中,他们提供了一个称为“复制因子和一致性级别”的解决方案,以确保尽可能的一致性,同时保持强大的可用性。

这是有关如何在Cassandra中进行读取,写入和复制的很好的解释:brief-introduction-apache-cassandra