当前课程知识点:大数据平台核心技术 > 第二讲 分布式存储 > 写异常处理的另一种方法-Seal and New > 写异常处理的另一种方法-Seal and New(主讲人:姚文辉)
从上面的分析可以看出
在分布式系统的设计
和实现过程中
通常抛开使用场景
谈论某种设计和实践的好坏
是没有意义的
通常会在性能和数据安全
两个方面做一些取舍
来最终满足业务的需要
在数据写入的异常情况下
有没有更好的写入方式
即可以绕过少数异常点
也可以保证数据安全呢
下面 我们介绍一种
盘古中 日志文件的写入方式
这种方式被称为Seal and New
在这种写入流程中
没有采用定长Chunk的
文件组织方式
而是换成了不定长
Chunk组织方式
在动画中为了简化显示
假设数据只需要写入两份
首先client端
将数据以链式方式
传输CS1
但在CS1给CS2的过程中
CS2由于网络忙
或者其他原因
导致响应超时
此时为了尽快将数据
写入成功
client立即向master告知
写入CS2失败
并将当前的窗口的meta
更新到数据写入之前的长度
并取回新的Chunk的
写入位置
将要写的数据
写入到新窗口中
这个过程被称作Seal and New
在整个写入过程中
数据写入成功的份数
并没有变少
同时 快速绕过了异常点
在实现过程中
如果CS2的异常类型
为磁盘损坏
可以通过Seal and New操作
触发master发起异步复制
这个过程并不block
用户写入过程
这就是盘古的日志文件
为何可以快速绕过故障点
又可以保障数据安全的原理
但这样付出的代价是
Chunk的meta量
会在有故障点的时候有些增加
这里利用表格的方式
总结了一下
上面介绍的写入流程的优缺点
大家可以通过优缺点的对比
来匹配业务和文件类型
同时 大家可以思考写入方式
并自己来总结一下其中的优点
和适用的场景
-主讲人:武永卫
-主讲人:程永
-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--作业
-分布式环境下的新问题
-工程实现范例
-课程设计相关问题