文档章节

走进cassandra之四 副本机制

chenkangyao
 chenkangyao
发布于 2016/07/19 13:35
字数 561
阅读 26
收藏 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

没有更多内容

加载失败,请刷新页面

加载更多

hive数据导入导出

- 导入主要方式 load从本地加载 load从hdfs中加载 insert into方式加载 location指定源数据路径 like指定、克隆 ctas语句指定(create table tableName as ...) 手动将数据copy到表目录 5、 ...

Mr_yul
7分钟前
0
0
基于基线版本新建分支,并合并之前未合并到基线版本的分支

`合并feature2到feature5继续开发 git checkout -b feature2 origin/feature2 git pull git checkout -b baseline origin/baseline git pull git checkout -b feature5 git merge feature2 ......

philonic
14分钟前
0
0
统一认证服务CAS 5安装

简要介绍统一认证服务(CAS,Central Authentication Service,注:常称为单点登录系统)5.2.X的安装及配置。 CAS环境:Centos7.5+Tomcat8.5+jdk-8u181。后台用户管理采用openldap,其安装请...

阿笨哥
14分钟前
0
0
多线程糗事百科案例

爬取糗事百科段子,假设页面的URL是:http://www.qiushibaike.com/8hr/page/1 要求 1.使用requests获取页面信息,用XPath / re 做数据提取 2.获取每个帖子里的用户头像链接、用户姓名、段子内...

代码打碟手
17分钟前
0
0
09-《深度拆解JVM》JVM是怎么实现invokedynamic的?(上)

一、问题引入 前不久,“虚拟机”赛马俱乐部来了个年轻人,标榜自己是动态语言,是先进分子。 这一天,先进分子牵着一头鹿进来,说要参加赛马。咱部里的老学究 Java 就不同意了呀,鹿又不是马...

飞鱼说编程
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部