apache cassandra支持切分吗?抱歉,这个问题看起来很琐碎,但我似乎找不到答案。我读到Cassandra部分模仿了盖伊的大table,table上有大量碎片。但我目前在cassandra上找到的大多数文档似乎都暗示cassandra并没有跨多台机器水平地划分数据,而是支持许多重复的机器。这意味着cassandra非常适合高可用性读取,但如果写入量变得非常高,它最终会崩溃。
rsl1atfo1#
是的,Cassandra支持切分,但有自己的方式。在mongodb中,每个次节点都包含主节点的完整数据,而在cassandra中,每个次节点只负责保留一些关键的数据分区。
0h4hbjxa2#
cassandra会跨节点进行分区(因为如果不能拆分它,就不能扩展它)。cassandra集群的所有数据都被划分到“环”上,环上的每个节点负责一个或多个密钥范围。您可以根据自己的需求控制分区器(例如,random、ordered)以及一个键/列应该复制到环上的多少个节点。这包含了一个非常好的概述。基本架构另外,我强烈建议您阅读dynamo白皮书。虽然Cassandra和迪纳摩在很多方面都不同,但从概念上讲,它们来自同一个根源。看看:迪纳摩白皮书
2条答案
按热度按时间rsl1atfo1#
是的,Cassandra支持切分,但有自己的方式。
在mongodb中,每个次节点都包含主节点的完整数据,而在cassandra中,每个次节点只负责保留一些关键的数据分区。
0h4hbjxa2#
cassandra会跨节点进行分区(因为如果不能拆分它,就不能扩展它)。cassandra集群的所有数据都被划分到“环”上,环上的每个节点负责一个或多个密钥范围。您可以根据自己的需求控制分区器(例如,random、ordered)以及一个键/列应该复制到环上的多少个节点。
这包含了一个非常好的概述。基本架构
另外,我强烈建议您阅读dynamo白皮书。虽然Cassandra和迪纳摩在很多方面都不同,但从概念上讲,它们来自同一个根源。看看:迪纳摩白皮书