2014-11-05 32 views
1

我想创建一个表,以保持计数器在我的API不同的命中。我正在使用Cassandra 2.0.6,并且意识到从2.1.0开始的计数器有一些性能改进,但此时无法升级。
我对datastax始终阅读文档开头创建单独的密钥空间这样的: http://www.datastax.com/documentation/cql/3.0/cql/cql_using/use_counter_t.html http://www.datastax.com/documentation/cql/3.1/cql/cql_using/use_counter_t.html卡桑德拉键盘空间的计数器

从技术文档:

Create a keyspace on Linux for use in a single data center, single node cluster. Use the default data center name from the output of the nodetool status command, for example datacenter1. 
CREATE KEYSPACE counterks WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'datacenter1' : 1 }; 

问题:
1)这是否意味着我应该让我的计数器在一个单独的密钥空间
2)如果是的话,我应该声明文档示例中定义的密钥空间,或者那只是一个例子,我可以设置自己的复制策略 - 专门复制到da ta中心。

谢谢

回答

1

对不起,你有麻烦的说明。例如,需要更改说明以明确这只是一个例子,并通过将RF更改为3来进行改进。

对单个数据中心和单节点群集使用密钥空间不是必需的。您需要将计数器保留在单独的表中,但不要分隔密钥空间;但是,将表保存在单独的密钥空间中可让您灵活地更改从表到表的一致性和复制。通常,每个应用程序都有一个密钥空间。请参阅http://grokbase.com/t/cassandra/user/145bwd3va8/effect-of-number-of-keyspaces-on-write-throughput上的相关单关键字空间讨论。

+0

感谢您的回复。这完全回答了这个问题。 – 2014-11-06 20:57:55