分布式存储-笔记

本文探讨了阿里大数据平台对分布式存储的需求,包括大容量、高吞吐量和高可靠性等。同时,文章列举了分布式存储面临的挑战,如硬件故障、网络问题和软件缺陷等。介绍了HDFS、Ceph和Pangu等分布式存储系统,以及它们的关键功能设计,如数据复制、校验和、重平衡等。此外,详细讨论了写操作的链式写入和主从模式,以及异常情况下的处理策略。最后,分析了读处理的优化方法,如BACKUPREAD和规避慢节点的技术手段。
摘要由CSDN通过智能技术生成

阿里大数据平台核心技术_笔记1

分布式存储-笔记

  • 需求

    1.大存储容量
    2.高吞吐量
    3.数据高可靠
    4.服务高可靠
    5.高效运维
    6.低成本

  • 挑战

    1.单机硬件/系统的不完美(小概率出错)
    2.大规模下需要水平扩展(管理大量的机器)

    在大规模下小概率事件将成为常态,正确处理这些小概率事件是分布式存储的工程挑战

  • 小概率事件

    1 磁盘损坏,RAID卡充电放电中,失效,属于不稳定设备
    2.网络故障
    3.电源故障
    4.数据错误
    5.系统异常
    6.热点
    7.软件缺陷
    8.误操作

  • 分布式存储系统

    1.HDFS(GFS)
    2.Ceph
    3.Pangu–ali

  • 分布式存储系统重要的功能设计

    1.读写流程
    2.Qos ->服务质量与保障
    3.Checksum
    4.Replication ->数据复制,防止数据丢失
    5.Rebalance ->数据平衡,重新将数据进行分布
    6.Garbage collection ->垃圾回收
    7.Erasure coding ->通用的数据压缩方法

写操作


  • 链式写正常流程

    1.Client想Master发起写入操作,在Master打开文件写
    2.Master返回包含文件名的响应
    3.从Client开始想ChunkServer按照链式写方式写入,即Client->CS1->CS2->..
    4.从最后写入的一个CS开始按照写入的反顺序传回响应到client,这样一次写入完成

    特点:网络带宽占用较少,但是链条较长,写入较慢,延时较长
    适合数据流量大,不注重延时(latency)的业务

  • 主从模式写流程
    适合数据写入频繁、要求低延时的业务
    数据接受CS分为Primary和Replica两种,Primary作为写操作的协调者和接收者,Replica只作为数据的接收者

    1.Client将数据发送给Primary,Primary将数据发送给所有的Replica
    2.并等待所有拷贝都已经合并入内存Cache后,由Primary向Client返回确认消息
    3.此时数据并没有写入成功,等所有数据都写入物理磁盘中,Replica向Primery发送刷入磁盘成功的消息
    4.Primary写入成功后,将确认消息发送给Client
    从Primary向Replica发送两份数据,占用两份数据流量,写入三个副本的情况下,只需要两跳即可到达Client,网络延迟较小,流量占用较大

  • 链式写入异常,当链式写入CS中,发现中间CS宕机,可选解决办法如下

    • 则可以跳过异常CS向下一个CS发送数据,响应消息也跳过该异常CS。这样的异常处理,保证了上层数据写入的成功率,保证了上层业务的稳定性,但牺牲了数据安全
    • 也可以从Master获取另一个新的CS,并将以后数据复制到CS4上,代替异常CS。这样会确保数据安全,但会造成写入延时,给上层业务带来毛刺

    • 写异常处理的另一种方法-SEAL AND NEW,就是封存之前写入位置,创建新的写入位置,Pangu采用不定长Chunk写入方式

      1.CS传递数据时,接收CS发生异常,链式返回异常到Client
      2.Client通知Master异常,并将当前Meta恢复到写入数据前的Meta长度,并取回新的chunk写入位置,继续链式写入,造成需要更多的Meta管理
      3.如果异常CS为磁盘损坏,可以通过SEAL AND NEW 发起Master异步写入操作,并不阻塞用户写入操作

读处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值