从0开始学大数据
李智慧
同程艺龙交通首席架构师,前Intel大数据架构师,《大型网站技术架构》作者
立即订阅
14333 人已学习
课程目录
已完结 46 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词 | 为什么说每个软件工程师都应该懂大数据技术?
免费
预习模块 (3讲)
预习 01 | 大数据技术发展史:大数据的前世今生
预习 02 | 大数据应用发展史:从搜索引擎到人工智能
预习 03 | 大数据应用领域:数据驱动一切
模块一 Hadoop大数据原理与架构 (7讲)
04 | 移动计算比移动数据更划算
05 | 从RAID看垂直伸缩到水平伸缩的演化
06 | 新技术层出不穷,HDFS依然是存储的王者
07 | 为什么说MapReduce既是编程模型又是计算框架?
08 | MapReduce如何让数据完成一次旅行?
09 | 为什么我们管Yarn叫作资源调度框架?
10 | 模块答疑:我们能从Hadoop学到什么?
模块二 大数据生态体系主要产品原理与架构 (7讲)
11 | Hive是如何让MapReduce实现SQL操作的?
12 | 我们并没有觉得MapReduce速度慢,直到Spark出现
13 | 同样的本质,为何Spark可以更高效?
14 | BigTable的开源实现:HBase
15 | 流式计算的代表:Storm、Flink、Spark Streaming
16 | ZooKeeper是如何保证数据一致性的?
17 | 模块答疑:这么多技术,到底都能用在什么场景里?
模块三 大数据开发实践 (8讲)
18 | 如何自己开发一个大数据SQL引擎?
19 | Spark的性能优化案例分析(上)
20 | Spark的性能优化案例分析(下)
21 | 从阿里内部产品看海量数据处理系统的设计(上):Doris的立项
22 | 从阿里内部产品看海量数据处理系统的设计(下):架构与创新
23 | 大数据基准测试可以带来什么好处?
24 | 从大数据性能测试工具Dew看如何快速开发大数据系统
25 | 模块答疑:我能从大厂的大数据开发实践中学到什么?
模块四 大数据平台与系统集成 (6讲)
26 | 互联网产品 + 大数据产品 = 大数据平台
27 | 大数据从哪里来?
28 | 知名大厂如何搭建大数据平台?
29 | 盘点可供中小企业参考的商业大数据平台
30 | 当大数据遇上物联网
31 | 模块答疑:为什么大数据平台至关重要?
模块五 大数据分析与运营 (5讲)
32 | 互联网运营数据指标与可视化监控
33 | 一个电商网站订单下降的数据分析案例
34 | A/B测试与灰度发布必知必会
35 | 如何利用大数据成为“增长黑客”?
36 | 模块答疑:为什么说数据驱动运营?
模块六 大数据算法 (6讲)
37 | 如何对数据进行分类和预测?
38 | 如何发掘数据之间的关系?
39 | 如何预测用户的喜好?
40 | 机器学习的数学原理是什么?
41 | 从感知机到神经网络算法
42 | 模块答疑:软件工程师如何进入人工智能领域?
智慧写给你的寄语 (1讲)
所有的不确定都是机会——智慧写给你的新年寄语
结束语 (2讲)
结束语 | 未来的你,有无限可能
第2季回归丨大数据之后,让我们回归后端
从0开始学大数据
登录|注册

05 | 从RAID看垂直伸缩到水平伸缩的演化

李智慧 2018-11-08
经过前面的预习和上一期我们聊的,大数据技术主要是要解决大规模数据的计算处理问题,但是我们要想对数据进行计算,首先要解决的其实是大规模数据的存储问题。我这里有一个直观又现实的问题想问你:如果一个文件的大小超过了一张磁盘的大小,你该如何存储?
我的答案是,单机时代,主要的解决方案是 RAID;分布式时代,主要解决方案是分布式文件系统。
其实不论是在单机时代还是分布式时代,大规模数据存储都需要解决几个核心问题,这些问题都是什么呢?总结一下,主要有以下三个方面。
1.数据存储容量的问题。既然大数据要解决的是数以 PB 计的数据计算问题,而一般的服务器磁盘容量通常 1~2TB,那么如何存储这么大规模的数据呢?
2.数据读写速度的问题。一般磁盘的连续读写速度为几十 MB,以这样的速度,几十 PB 的数据恐怕要读写到天荒地老。
3.数据可靠性的问题。磁盘大约是计算机设备中最易损坏的硬件了,通常情况一块磁盘使用寿命大概是一年,如果磁盘损坏了,数据怎么办?
在大数据技术出现之前,我们就需要面对这些关于存储的问题,对应的解决方案就是 RAID 技术。今天我们就先从 RAID 开始,一起看看大规模数据存储方式的演化过程
RAID(独立磁盘冗余阵列)技术是将多块普通磁盘组成一个阵列,共同对外提供服务。主要是为了改善磁盘的存储容量、读写速度,增强磁盘的可用性和容错能力。在 RAID 之前,要使用大容量、高可用、高速访问的存储系统需要专门的存储设备,这类设备价格要比 RAID 的几块普通磁盘贵几十倍。RAID 刚出来的时候给我们的感觉像是一种黑科技,但其原理却不复杂,下面我慢慢道来。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《从0开始学大数据》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(72)

  • Panmax 置顶
    3. 数据可靠性的问题。使用 RAID 0、RAID 5 或者 RAID 6 方案的时候,由于数据有冗余存储,或者存储校验信息,所以当某块磁盘损坏的时候,可以通过其他磁盘上的数据和校验数据将丢失磁盘上的数据还原。

    这里应该是 RAID1 吧

    作者回复: 实践中一般用raid10,已订正,谢谢指正

    2018-11-08
    8
  • 星辰
    连续写入:写入只寻址一次 存储位置与逻辑位置相邻 不用多次寻址

    随机写入:每写一次 便寻址一次 增加了磁盘的寻址时间

    作者回复: 是的

    2018-11-08
    81
  • wmg
    到目前为止专栏的内容基本上是普及大数据知识,非常适合打算入坑的码农,期待后续能有更多关于大数据系统架构和针对某项技术深入介绍的内容。
    2018-11-08
    23
  • lyshrine
    老师,为啥通常情况一块磁盘使用寿命大概是一年?磁盘不是能用很多年吗?一年一换成本会不会太高了?

    作者回复: 服务器磁盘访问压力大,寿命短
    你的电脑常年不关机下小电影,硬盘也坏的快

    2018-11-08
    1
    15
  • o°cboy
    磁盘的读写过程,最消耗时间的地方就是在磁盘中磁道寻址的过程,而一旦寻址完成,写入数据的速度很快。
    顺序写入只要一次寻址操作,而随机写入要多次寻址操作。所以顺序写入速度明显高于随机写入。
    个人的理解,不正确的地方,还请多多指教。

    作者回复: 是的

    2018-11-08
    12
  • lyshrine
    “RAID 3可以在数据写入磁盘的时候,将数据分成 N-1 份,并发写入 N-1 块磁盘,并在第 N 块磁盘记录校验数据,这样任何一块磁盘损坏(包括校验数据磁盘),都可以利用其他 N-1 块磁盘的数据修复。”
    不是很明白:数据都是写到N-1的磁盘里,每个磁盘里的数据都不一样,没有备份,如何数据修复?
    2018-11-08
    1
    8
  • 星辰
    老师居然回我信息了,好开心! 我最喜欢那种 讲课做事都亲自来的老师! 听了老师四节课了,都是老师自己读,有的话是老师的原汁原味的话,在文稿里没有! 给智慧老师打call!

    作者回复: 谢谢

    2018-11-08
    7
  • 暴风雪
    那个RAID3的修复,可以理解为:b1+b2+b3+...+bn=s,其中一块坏掉了,也就是bn数据不见了,可以通过bn=s-b1-b2-b3-...-b(n-1)。
    2018-11-09
    5
  • hashmap
    磁盘寻址是耗时操作,是时间大于写入时间
    连续写入,可以寻址一次,然后写入
    随机写入,需要寻址多次,然后写入
    所以连续写入快
    这个问题可以延伸回答,为什么很多数据库索引采用b+树,而不是完全二叉树?
    因为b+树的节点包含多个信息,可以连续读写磁盘
    有一疑问?RAID技术是实现在哪里?
    需要安装软件,还是磁盘的驱动实现

    作者回复: 有raid硬件,也有驱动实现

    2018-11-09
    5
  • 落叶飞逝的恋
    RAID 5 6螺旋写入这个怎么看?前面三个图的DATA表示看的懂,后面两个看不懂?还有就是平常开发接触不到服务器怎么办?
    2018-11-08
    4
  • zc
    老师请推荐大数据相关书籍
    2018-11-08
    4
  • 格非
    跟机械磁盘的构造有关,随机读写时,磁头需要不停的移动,时间都浪费在了磁头寻址上

    作者回复: 是的

    2018-11-08
    4
  • godtrue
    1、本文核心观点:
    大规模数据存储需要解决的三个核心问题,容量,性能,高可用。

    2、课后思考及问题
    2-1:老师讲的真棒,一下子把大数据高高在上不可亵玩的外衣给撕掉啦!
    2-2:大规模数据的三个核心问题,大容量,高性能,高可用。
    大容量——水平扩展机器数
    高可用——分布式多副本
    高性能——这个是最难的,基本上怎么存放数据就决定了存取的性能,但是非关系型数据库还是出现了许多,每一种都有其特点,核心不同点就在于怎么存储数据和存取数据。期待老师后面关于这块的讲解,不过学习过redis和es后发现,主要就是三板斧,一是尽量利用内存;二是尽量使用合适的数据结构,有序的存储结构,三是利用操作系统的高速IO通信,比如:事件驱动IO/零拷贝/异步/多线程

    顺序写为啥那么快?
    写磁盘的速度其实是一样的,至少同一块磁盘可以认为一样的,关键在顺序二字,如果看过磁盘的内部结构就更清楚了,一块磁盘有多个磁盘片组成,每个磁盘片又划分为不同的磁道,磁道上又划分为不同的扇区,扇区内才是磁盘真正记录数据的地方,写数据之前磁臂磁头要先找到要写的位置。顺序写快就快在找到开始写的地方就可以写数据了,而随机写,写一会可能就需要再找写的位置啦!多花了一些做和写无关的事,自然写不快啦!
    好比:你也借1个亿,我也借1个亿,假如你是王思聪,你一开口你爸就给你一个亿,我要去100家银行去借,我借钱的速度自然很慢。
    2019-09-26
    3
  • qpm
    传统机械硬盘的读写耗时主要在寻址上,连续读写一般只寻址一次,所以速度会快。

    作者回复: 是的

    2018-11-08
    3
  • 暴风雪
    我想问一下,RAID 3的任意一块磁盘损坏,通过其他磁盘的数据修复,是怎么修复的?有点不理解这段话

    作者回复: 有一块盘记录校验数据,用校验数据和未损坏盘数据可以计算损坏盘的数据

    2018-11-09
    2
  • 暴风雪
    思考题:上文说过,机械硬盘时间消耗主要在寻址上,所以我猜想,连续文件写入时是只寻址一次,后面可以连续写入,所以时间计划不变,而数据库随机写入,每次都要寻址,分配新的地址,所以时间就慢很多了
    2018-11-09
    2
  • 公号-代码荣耀
    1 计算写入地址更简单快速
    2 磁盘机械机构移动的距离更少,寻址更快
    3 由于空间的连续性,写入也更快

    作者回复: 是的

    2018-11-08
    2
  • 达子不一般
    raid5的磁盘使用率是n-1/n,raid5不是校验信息写在所有磁盘上吗?raid6校验信息写在2块磁盘上,不是raid3的升级吗?没有频繁更新的问题吗?校验信息是类似数据压缩信息吗?2块磁盘能放的下吗?

    作者回复: 不是压缩,通过位运算计算校验位。

    2019-10-10
    1
  • 刘工的一号马由
    RAID5为什么是N-1呢?不是所有磁盘螺旋写入吗?应该所有磁盘都可以使用啊
    2018-11-29
    1
  • GeXeLr
    老师那个磁盘利用率是怎么计算出来的呀?还有速度提升倍数又是怎么计算出来的?
    2018-11-16
    1
收起评论
72
返回
顶部