创建键空间时Cassandra中的复制因子

创建键空间时Cassandra中的复制因子,cassandra,namespaces,replication-factor,Cassandra,Namespaces,Replication Factor,在Cassandra中创建新名称空间时,我们需要为复制因子提供一个数字。 例: 我们作为复制因子给出的数量是否决定了最初创建以存储复制数据的节点数量? 有谁能明确说明复制因子的作用 它不会创建指定数量的节点。它只是指数据的拷贝数。例如,如果您的集群有5个节点,您的写操作将被复制(写入)到3个不同的节点,具体取决于它所属的令牌范围。简单化的策略是ASN实现,在复制时不考虑机架或DC的考虑。 < P>解释 >复制因子> /代码>的PrUethe GUUMUASU是正确的。Cassandra集群中的节

在Cassandra中创建新名称空间时,我们需要为复制因子提供一个数字。 例:

我们作为复制因子给出的数量是否决定了最初创建以存储复制数据的节点数量?
有谁能明确说明复制因子的作用

它不会创建指定数量的节点。它只是指数据的拷贝数。例如,如果您的集群有5个节点,您的写操作将被复制(写入)到3个不同的节点,具体取决于它所属的令牌范围。简单化的策略是ASN实现,在复制时不考虑机架或DC的考虑。

< P>解释<代码> >复制因子> /代码>的PrUethe GUUMUASU是正确的。Cassandra集群中的节点数量不是您“提供”的,您实际上可以连接任意数量的节点:


每次连接一个新节点时,它都会按照Cassandra的体系结构分配一个令牌范围。如果您不知道应用程序需要多少节点,我建议运行一个性能测试,数据大小接近您将在实际应用程序中插入的大小,然后尝试执行一些查询(并发),看看有多少节点可以为您的查询获得合理的响应时间。

谢谢。您知道如何给出需要创建的节点数吗?您需要的节点数(即实际机器)取决于许多因素,如您拥有的数据量(例如,您可能需要100个节点才能容纳足够的磁盘容纳所有数据)和请求负载(例如,如果一个节点每秒只能执行10000个请求,而您每秒可以执行100万个请求,则您需要100个节点)。但如果您有100个节点,则并不意味着每个数据段都需要复制100次!这就是RF(复制因子)的位置输入。如果RF=3,则每个数据段仅在这100个节点中的3个节点上复制。谢谢。您能告诉我一个好的工具和文档来进行性能测试吗?您可以使用类似cassandra stress tool的工具:或者您可以使用Docker启动cassandra群集,最好在单独的机器上启动每个Docker容器r一个更现实的性能测试。然后,您需要使用首选语言编写代码,客户端能够连接到您设置的集群,以便在集群上插入和执行查询,对于我来说,我使用java中的datastax驱动程序,它支持同步或异步执行查询(异步更现实)