24

Apache Cassandra是否支持分片?

抱歉,这个问题一定看起来微不足道,但我似乎找不到答案。我读过 Cassandra 部分模仿了 GAE 的大表,它大规模地分片。但是我目前在 Cassandra 上找到的大多数文档似乎都暗示 Cassandra 不会在多台机器上水平分区数据,而是支持许多重复的机器。这意味着 Cassandra 非常适合高可用性读取,但如果写入量变得非常非常高,最终会崩溃。

4

2 回答 2

32

Cassandra 确实跨节点进行分区(因为如果你不能拆分它,你就不能扩展它)。Cassandra 集群的所有数据都被划分到“环”上,环上的每个节点负责一个或多个键范围。您可以根据您的要求控制分区器(例如随机、有序)以及应将键/列复制到环上的多少个节点。

这包含一个很好的概述。 基本架构

另外,我强烈推荐阅读 Dynamo 白皮书。虽然 Cassandra 在许多方面与 Dynamo 不同,但从概念上讲,它们源于相同的根源。查看:Dynamo 白皮书

于 2013-05-07T20:55:33.150 回答
-4

是的,cassandra 支持分片,但以它自己的方式。

在 Mongodb 中,每个辅助节点都包含主节点的完整数据,但在 Cassandra 中,每个辅助节点只负责保留数据的一些关键分区。

于 2013-05-07T20:43:34.327 回答