02 大规模数据存储问题

        单机时代,主要使用的是RAID(独立磁盘冗余阵列)就是将多块普通磁盘组成阵列,共同对外提供服务。分布式时代,主要解决方案是分布式文件系统。

        大数据技术主要是解决大规模数据的计算处理问题,但是要对数据计算,首先要解决的是大规模数据的存储问题。主要分为以下三个方面:

  1. 容量。大数据是以PB为单位的数据计算问题,如何存储。
  2. 速度。磁盘的连续读写速度很慢,通常只有几十兆。
  3. 可靠性。磁盘损坏怎么办

首先来说明一下RAID,常见的RAID方案有如下几种:

       【RAID0】是将多块磁盘组成阵列,写数据时把数据分为N份,各自实现N块磁盘的读写,这样就可以以N份并发的写入N块磁盘。

        ---RAID0的可靠性不足,万一有个盘坏了咋办,于是有了RAID1,

       【RAID1】是两块磁盘当一块用,同一份数据会写入两块盘中,相当于备份了一份。

        ---如何兼顾速度,和可靠性呢,于是有RAID3

        【RAID3】RAID3是按照RAID0的方式写数据,但是会留出一块盘用于写校验码

        ---但是RAID3校验码的盘坏了怎么办,于是有了RAID5

        【RAID5】是将校验码数据也分别存储到了各个磁盘中,基于RAID3的一个改进

        【RAID6】对于RAID5的又一个改进,引入双重校验的概念,除了对数据的XOR校验,还有对XOR内容的校验

        【RAID10】其实是RAID1和RAID0的合体首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术讲数据分为N份并发的读写,这样也保障了数据的效率。

        技术比较如下:

RAID类型访问速度数据可靠性  磁盘利用率
RAID0很快很低        100%
RAID1很慢 很高50%
RAID5较快较高(N-1)/N
RAID6较快较5高(N-2)/N
RAID10中等很高50%

RAID是一种“垂直伸缩”(scaling up),通过升级CPU、内存、磁盘等将一台计算机变得更强大。大数据使用的存储是一种“水平伸缩”(scaling out),添加更多的计算机到系统中,从而实现更强大的计算能力。垂直伸缩总有尽头,水平伸缩理论上是没有止境的,在实践中,数万台服务器的HDFS集群已经出现,我会在下一期谈谈HDFS的架构。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值