【发布时间】:2013-03-22 13:42:31
【问题描述】:
我似乎找不到办法做到这一点。文档中没有任何内容(CQL 示例或节俭示例除外)。有没有人这样做过?我想设置读写的一致性。或者即使你能告诉我如何通过每个单独的读/写的一致性级别,那也很棒。
有一种方法可以在创建键空间时设置一致性级别。但是,如果键空间已经存在并且您想为其更新一致性级别,该怎么办。如果做不到,那为什么会这样呢,正常情况下应该是可以用的。
【问题讨论】:
我似乎找不到办法做到这一点。文档中没有任何内容(CQL 示例或节俭示例除外)。有没有人这样做过?我想设置读写的一致性。或者即使你能告诉我如何通过每个单独的读/写的一致性级别,那也很棒。
有一种方法可以在创建键空间时设置一致性级别。但是,如果键空间已经存在并且您想为其更新一致性级别,该怎么办。如果做不到,那为什么会这样呢,正常情况下应该是可以用的。
【问题讨论】:
Zanson 是正确的 - 一致性级别是在逐个查询的基础上确定的。因此,您执行的每个读取和写入查询都将指定其自己的一致性级别。我相信默认情况下这设置为 QUORUM。 QUORUM 是根据 Keyspace 的复制因子计算得出的。
-> 复制因子是在键空间级别定义的。
-> 读/写一致性级别在查询时定义。
【讨论】:
这里描述的这个问题https://issues.apache.org/jira/browse/CASSANDRA-4734 他们删除了可用于设置每个请求的一致性级别 (CL)(即在 CQL 中)。 并决定将其设置为 Column Famaly (CF) 级别。
不幸的是:(
但是如果使用 php pro_cassandra - 你可以这样做:https://github.com/Orange-OpenSource/YACassandraPDO/issues/13
【讨论】:
您想要更新复制因子。一致性级别是指单个查询。要从 cassandra-cli 更新复制因子,您需要使用“更新键空间”命令并更改策略选项。
UPDATE KEYSPACE demo WITH strategy_options = {replication_factor:1}
【讨论】:
ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};。请参阅下面的答案。
您正在混淆一致性级别(指单个查询)和复制因子(在创建键空间时设置)。
要更改现有键空间的复制因子,请使用“alter keyspace”命令:
ALTER KEYSPACE demo WITH REPLICATION = {'class': 'SimpleStrategy', 'replication_factor': 1};
来源:
【讨论】: