当前课程知识点:大数据系统基础 > 5.内存计算 > 授课视频 > 5.1内存计算概述
同学好我是清华大学
计算机系的陈文光
大家在前面的学习中
应该已经学到了
MapReduce这样一个采用
大规模分布式系统
来处理大数据的编程框架
大家在使用MapReduce的时候
可能也会发现
它存在的一些问题
比如说对于一些比较复杂的任务
MapReduce的编成比较困难
另外MapReduce的性能也比较差
因为它要在不同的阶段之间
产生大量的I/O操作
那么怎么解决这个问题
我们提出了一个内存计算的概念
内存计算就是指能够在内存之中
进行数据的共享
从而大大的提高性能
使得大数据分析
从MapReduce
可能要做几十分钟甚至几小时
而缩短到几秒钟
10秒钟左右的时间
这是一个非常重要的技术
我们在这门课中
也会介绍现在流行的
内存编成框架Spark
下面就让我们来一起开始学习
好首先让我们来回顾一下
并行计算的一些基本挑战
首先我们先来介绍一下
为什么大家要做并行计算
第一个进行并行计算的原因
是计算量大
那么我们有很多的
大规模的计算任务
如果我们只用单核来计算
它算得就显然不够快
所以我们需要用多个CPU
来做计算
其次很多时候
很多的并行计算
它的需求是来源于内存需求
也就是说有的任务
它的计算量可能
不见得非常非常大
但是它需要内存量很大
使得你在单机
无法放下这个问题
那我们就这个时候
需要多机多台机器
一起内存聚合起来
来适应这样一个问题
那为什么我们一定要把
这个问题把它放到内存里面
这里面我们要
有一个基本的数据
也就是说内存的随机访问
它的速度大概比硬盘的随机访问
要快10万倍
也就是说如果我们不把
问题放到内存里的话
那么我们就会面临读硬盘的问题
而如果我们不能够
有效的把访问硬盘
做成连续访问
而产生了很多随机访问的话
这个问题的性能就会
急聚的下降
所以内存需求大
也是做并行计算的一个
很重要的原因
那么还有第三个原因
实际上是某些应用
它的I/O量是很大的
那么I/O量大以后
使得我们怎么能够提高I/O的性能
也成为一个重要的问题
单个硬盘来读写这些I/O的内容
就显得太慢
所以有时候我们需要
多个硬盘来读写
也就是说应用问题的
计算量大内存需求大和I/O量大
是我们做并行计算的
三个基本的原因
-授课视频
--什么是大数据
--大数据典型应用
--大数据的特点
--大数据技术体系
--大数据生态系统
--大数据技术挑战
--课程内容
-1. 绪论--Quiz 1
-授课视频
--2.2并行化理念
--2.9计算虚拟化
-2.云计算--Quiz 2
-授课视频
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-3.文件存储--Quiz3
-授课视频
--4.13类似框架
--4.14章节总结
-4. 处理框架--Quiz4
-授课视频
-5.内存计算--Quiz5
-授课视频
--数据副本及一致性
--节点本地数据存储
-6. NoSQL--Quiz6
-授课视屏
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
--Video
-7. 流计算--Quiz7