您的位置:首页 > 其它

cassandra的一些概念

2015-02-20 18:01 169 查看
分区器Partitioners

在集群内,根据设置的副本数,决定数据如何分发,允许跨机房


具体看

http://teddymaef.github.io/learncassandra/cn/replication/partitioners.html
/article/1755420.html


数据的副本数replica

通过cql命令CREATE KEYSPACE,在建立keyspace的时候设置


一致性策略

既然数据有了跨机房的可能性,还有多个副本的情况,那么数据如何保持一致,你读写的时候,结果就会有很多种,这个就需要一致性策略来解决
通过cql命令CONSISTENCY设置


具体看

http://teddymaef.github.io/learncassandra/cn/replication/turnable_consistency.html


num_tokens

token是cassandra用来做数据的hash分配的时候用到的东西;之前是需要用工具为每个节点算当前的token是多少;
现在cassandra多了虚拟节点的概念,用了num_tokens参数,动态增加和删除节点,就不需要自己去重新分配节点的token了


一些概念

data center和node区别
Cluster:逻辑上的集群的概念,包含多个Node,有可能跨数据中心。
DataCenter :数据中心,可以理解为是一个机房,包含多个Rack
Rack : 机架,机架上包含多个Node
Node : 可以理解为机器,每个Node上都需要标示出这个Node是属于哪个DC和RAC上,如cassandra的cassandra-topology.properties这个配置文件中存有Cassandra Node IP=Data Center:Rack的记录用于设置。


推荐几个学习的连接

http://blog.csdn.net/earthhour/article/category/1346151
http://teddymaef.github.io/learncassandra/cn/replication/replication_strategies.html http://www.intra-mart.jp/document/library/iap/public_zh_CN/imbox/cassandra_administrator_guide/ 


cql的文档

http://www.datastax.com/documentation/cql/3.1/cql/cql_intro_c.html


需要注意的是

存放在 Cassandra 中的全部数据都带有时间,此时间主要是用于解决集群环境中的数据矛盾问题。
因此,在运行 Cassandra 的服务器上进行了变更时钟等操作时,有可能发生数据不一致并导致数据损坏。
另外,存放于 Cassandra 数据中的时间并非执行 Cassandra 服务器上的时间,而是使用连接到 Cassandra 的应用程序侧上设定的时间。
因此, intra-mart Accel Platform 的动作环境以及运行 Cassandra 的服务器上时钟的全部时间都必须一致。
为了统一时间,请考虑用ntp服务器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: