文档章节

走进cassandra之四 副本机制

chenkangyao
 chenkangyao
发布于 2016/07/19 13:35
字数 561
阅读 23
收藏 0

如果你要想最大限度保持一个东西不会忘记掉,你最好的办法,不是死记,记好几十遍。
而是要告诉几个人,这样就算你忘记了,别人还记得。
在cassandra里面呢,这个原理可以描述为
Replication is the process of storing copies of data on multiple nodes toensure reliability and fault tolerance.
当然,你也不能为了安全,要告诉100个人,这样累也累死了。

这个东东,最好是不多不少,刚刚合适。
在cassandra里面,这个不多不少的数,有个名词,叫replication factor(副本因子)
The total number of replicas across the cluster is referred to as thereplication factor.
这个数,代表什么意思呢?
A replication factor of 2 means two copies of each row, where each
copy is on a different node.

就是代表,有多少个数据的副本。

确定了有多少副本了,还有一个问题,这些副本怎么分布呢?
让哪些节点,持有你这些副本呢?

这也有对应的算法,

• SimpleStrategy
• NetworkTopologyStrategy

SimpleStrategy 用在只有一个数据中心的情况下。
SimpleStrategy places the first replica on a node determined by the partitioner. Additional replicas are placed on the
next nodes clockwise in the ring without considering rack or data centerlocation.

这句的意思就是:第一个数据副本放在 环里的一个节点上(这个节点由上节说到的分区器确定),其他的数据副本,按照顺时针方向,依次放在写一个节点。(不考虑机架或者数据中心的位置)。

NetworkTopologyStrategy 这个适用于有多个数据中心的情况。
This strategy specify how many replicas you want in each data center.
每个数据中心里要有几个副本,由这个来定。
在决定这个数字的时候,有2个因素要考虑:
(1) being able to
satisfy reads locally, without incurring cross-datacenter latency, and
(2) failure scenarios.

主要意思就是说,北京人访问北京的数据中心就好了,不要跑去访问上海的数据中心,那样跑的路就太远了。
另外,在同一个数据中心,完全有可能所有节点都死掉。
比如说,大厦整体断电了,所有机器同时见马克思了。
所以数据要分散在不同数据中心。

© 著作权归作者所有

共有 人打赏支持
chenkangyao
粉丝 5
博文 44
码字总数 75969
作品 0
广州
高级程序员
走进cassandra之七 最终一致性

关于这个最终一致性,我们还是举打仗的那个例子。 一个师,下辖三个团,一个独立营。 大家知道,在战斗的时候,突发事件很多,时间也很紧迫。 来自师部的作战命令,可能没有办法及时到达各个...

chenkangyao
2016/07/19
25
0
走进cassandra之三 分区器

从这节开始,都是高年级知识了,需要一点分布式的基础知识。 以前的文章说到, james(公司大佬)把任务分给了几拨人来做,那么怎么个分法呢? 什么任务交给什么人呢? James估计是有自己的一...

chenkangyao
2016/07/19
6
0
走进cassandra之六 数据读写删

先说写,再说读,最后说 数据一致性(data consistency)。 cassandra对于 数据写入,那是相当给方便的,比对 首长儿子还亲呢, 写的相当快,相当高效。 相比来说,关系型数据库,对于数据 ...

chenkangyao
2016/07/19
9
0
走进cassandra 之一 CAP和分布式

决定share一下我的cassandra学习成果,写一些博客,跟大家共同分享一下,准备写10篇文章,内容分别涉及 分布式存储概述及CAP, 数据模型, 分区器, 副本机制, 存储机制, 数据读写删, 最终一...

chenkangyao
2016/07/19
21
0
如何实现节点间数据同步

Apache Cassandra3.X 系列,第 4 部分 如何实现节点间数据同步 周 明耀 2017 年 12 月 06 日发布 系列内容: 此内容是该系列 6 部分中的第 # 部分: Apache Cassandra3.X 系列,第 4 部分 ht...

周 明耀
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

困扰当前数据中心管理的三大难题

导读 当企业发展到一定程度,或者之前的机房不能满足现在的数据中心使用时,企业会对数据中心进行迁移。那么在数据中心进行迁移的时候会遇到哪些风险呢?针对这些风险我们应该做出怎样的措施来...

问题终结者
10分钟前
0
0
设计模式:工厂方法模式(工厂模式)

工厂方法模式才是真正的工厂模式,前面讲到的静态工厂模式实际上不能说是一种真正意义上的设计模式,只是一种变成习惯。 工厂方法的类图: 这里面涉及到四个种类: 1、抽象产品: Product 2、...

京一
26分钟前
0
0
区块链和数据库,技术到底有何区别?

关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不...

HiBlock
33分钟前
0
0
react native 开发碰到的问题

react-navigation v2 问题 问题: static navigationOptions = ({navigation, navigationOptions}) => ({ headerTitle: ( <Text style={{color:"#fff"}}>我的</Text> ), headerRight: ( <View......

罗培海
40分钟前
0
0
Mac Docker安装流程

久仰Docker大名已久,于是今天趁着有空,尝试了一下Docker 先是从docker的官网上下载下来mac版本的docker安装包,安装很简易,就直接拖图标就好了。 https://www.docker.com/products/docker...

writeademo
48分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部