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

本文详细介绍了Cassandra的数据写入过程,包括如何选择协调器节点、基于主键哈希值分配数据、设置replicator和write consistency进行副本复制。同时,纠正了关于数据读取和副本定位的误解,指出Cassandra使用map维护数据位置,并在数据写入commit log和memtable并达到一致性要求后完成写操作。此外,讨论了数据从memtable到sstable的刷新过程。
摘要由CSDN通过智能技术生成

application发送数据到server
这里写图片描述

  1. application 发送请求到server
  2. 根据设置的load balance 规则从cluster中挑选一个coordinator,一般使用轮询即可。cluster 中的cassandra node 不仅作为数据库的储存节点,同样作为request 请求处理的server。所以保证每个节点处理的request 一样的balance算法即可
  3. 然后根据插入数据的主键hash value,来将第一份数据写入到对应节点中
  4. 然后根据replicator,write consistency,replication strategy ,来写副本
    eg.replicator=3,write consistency=2,replication strategy=simple strategy
    则表示成功写入到2个节点中,application的写操作才算成功。
    simple strategy 表明副本是放在第一个node 节点环位置的下一个节点

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

上面认识是错误的
首先,考虑下如果我们添加node到cluster中,假如数据存放的第一个node hash 受到影响,数据要移

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方丈的寺院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值