欢迎投稿

今日深度:

cassandra 如何写数据以及放置副本,cassandra副本

cassandra 如何写数据以及放置副本,cassandra副本


application发送数据到server

Note-很重要的一点
通过上面描述,发现可以根据hash value 来确定一条数据存放在哪个节点上,然后根据replication的参数设置,我们可以确定数据副本存放在哪个节点上。那么对于read 操作,我们就可以根据条件的hash value 来找到存放数据的第一个节点,然后根据数据副本来找其他replicate 数据。

上面认识是错误的
首先,考虑下如果我们添加node到cluster中,假如数据存放的第一个node hash 受到影响,数据要移除到新加入的node,这个操作很容易实现,那么按照我们上面的认识,其他的副本数据如何处理呢?
data的存放的第一个节点变化了,然后再根据replicate stragtegy,已经找不到其他副本了。
此外,cassandra 的node是无主机模式,没有主从节点,每份数据都是一样的,但是按照上面的说法,数据的存放的第一个节点重要性又高于其他节点。

综上,上述认识错误
正确的认识
cassandra 将数据成功写入后,会有一个map 表,来维护数据存放在哪些节点上

nodetool getendpoint keyspace table partitionkey 

这条命令可以查询到数据存放在哪些node上面
看了下cassandra的源码,这些数据应该存放在org.apache.cassandra.db:type=StorageService中

写数据

www.htsjk.Com true http://www.htsjk.com/cassandra/26951.html NewsArticle cassandra 如何写数据以及放置副本,cassandra副本 application发送数据到server Note-很重要的一点 通过上面描述,发现可以根据hash value 来确定一条数据存放在哪个节点上,然后根据replication的...
相关文章
    暂无相关文章
评论暂时关闭