当前课程知识点:大数据平台核心技术 > 实践1:通过两阶段提交协议完成数据上传 > 分布式一致性算法 > 分布式一致性算法(主讲人:冯骁)
下面我们来讲一下
一致性的模型
简单来说
一致性主要有三种类型
第一种是弱一致性
就是说
当你写入一个新值后
这个操作在数据副本上
可能能读出来
也可能读不出来
比较典型的就是一些
Case系统
第二种是最终一致性
就是当你写入一个新值
有可能读不出来
但经历了某个时间窗口之后
就一定能读出来
比如说电子邮件系统
第三种是强一致性
就是新的数据一旦写入
那么在任意副本
任意时间
都能够读到这个新值
比如文件系统
就是强一致性的
我们可以对一致性的
三种情况进行简单的分析
弱一致性和最终一致性
一般来说是异步冗余的
而强一致性
一般来说是同步冗余的
异步冗余通常意味着
更好的性能
但是它的状态控制
会非常的复杂
而同步意味着简单
但是也意味着性能下降
接下来我会介绍一下
主要的分布式一致性算法
包括Master-Slave
Master-Master
两阶段提交
和三阶段提交
首先我会介绍一下
Master-Slave架构
对于这种架构
Slave一般是Master的备份
这种系统一般是这么设计的
所有的读写请求都由
Master负责
写请求写到Master之上后
再由Master同步到Slave上
Master和Slave之间的同步
可以使用异步
也可以使用同步
可以是Master来push
也可以是slave来pull
一般来说
都是由slave来进行
周期性的pull
所以是最终一致性
这个设计的问题是
如果Master在pull的
周期内挂掉了
那么会导致
这个时间片内的数据丢失
如果你不想让数据丢失
那么Slave只能成为
Read-Only的方式
等待Master恢复
接下来我会讲一下
Master-Master模型
这种模型是指一个系统里边
存在两个或者多个Master
每个Master都能提供
read和write服务
这个模型其实是
Master-Slave的加强版
数据间同步一般是通过
Master间的异步完成
所以是最终一致性
Master-Master的好处是
一台Master挂了
别的Master可以正常做
读写服务
它和Master-Slave一样
当数据没有被复制到
其他的Master上时
数据会丢失
很多数据库都支持
Master-Master的
Replication的机制
这种模型的问题是
如果多个Master
对同一个数据进行修改时
数据间的冲突合并是一件
非常复杂的事情
类似SVN的源代码冲突
对统一行代码的冲突
无法由SVN系统解决
只能交给开发者自己来处理
-主讲人:武永卫
-主讲人:程永
-QUIZ--作业
-大纲
-初步认识大数据对分布式存储系统的需求
-理解大数据对分布式存储系统的需求
-具体说明大数据对分布式存储系统的需求
-大规模分布式存储的挑战
-小概率事件-Raid卡故障
-分布式存储系统举例
-分布式存储系统重要功能设计要点剖析
-链式写正常流程
-写流程的另一种常见方式:主从模式
-链式写异常流程
-写异常处理的另一种方法-Seal and New
--写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
-读正常流程
-读流程优化-BackupRead
-IO QoS
-数据正确性:checksum
-数据可靠性-Replication
-数据均衡-Rebalance
-垃圾回收-Garbage collection
--垃圾回收-Garbage collection(主讲人:姚文辉)
-Erasure coding
-Erasure coding(3,2)写入和读取过程
--Erasure coding(3,2)写入和读取过程(主讲人:姚文辉)
-元数据管理的高可用性和可扩展性
-元数据管理的高可用性
-Paxos概要
-Raft
-元数据管理的可扩展性
-不同存储介质的特性
-盘古混合存储
-QUIZ--作业
-阿里云飞天分布式调度
-任务调度
-资源调度
-容错机制
-规模挑战
-安全域性能隔离
-分布式调度的发展方向
-QUIZ--作业
-数据格式和抽象
-分布式编程模型
-MapReuduce编程模型
-关系型数据编程模型
-分布式图计算模型
-分布式编程未来展望
-QUIZ--作业
-分布式事务
-分布式一致性算法
-两阶段提交与三阶段提交
-实践--介绍
-关系型计算基本原理_1
-关系型计算基本原理_2
-分布式环境中的连接计算和聚合计算
-其他计算和物理优化
-QUIZ--作业
-提纲
-课程背景介绍
-前序知识
-分布式节点距离计算法则
-数据分布策略
-分布式计算调度
-数据就近原则计算如何容错
-ODPS跨集群数据依赖
-QUIZ--作业
-主讲人:谢德军
--实践2:编写MR完成Group By+Join操作(主讲人:谢德军)
-增量计算和流式计算
-与批量计算的区别
-业界典型系统技术概要分析
-核心技术
-消息机制
-有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制
--有状态计算、并行DAG、抢占式调度和资源隔离、Failover机制(主讲人:强琦)
-StreamSQL
-QUIZ--作业
-软硬件趋势、分布式计算简史与内存计算
-分布式计算
-内存计算
-统一的计算框架
-业界经典系统技术分析-spark&flink
--业界经典系统技术分析-spark&flink(主讲人:强琦)
-QUIZ--作业
-主讲人:褚葳
-QUIZ--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题