当前课程知识点:大数据系统基础 >  3.文件存储 >  授课视频 >  Video

返回《大数据系统基础》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《大数据系统基础》慕课在线视频列表

Video课程教案、知识点、字幕

那么这一节呢

我们将讨论文件系统

其他方面的一些特性

那么这也是在文件系统设计

或者是在文件系统分析的时候

非常重要的一些概念

那么从前面的文件系统

解析的过程当中来看

这个解析过程

其实是比较复杂的一个

递归的一个过程

那么在文件系统里面

有一个非常重要的一个概念

就是关于磁盘块大小的一个讨论

那么我们看到

在物理磁盘上面

它最小的读写的单元

是512个字节

那么这是由于

它的磁盘的物理特性

它所决定的

那么对于文件系统来说

它一般会选择

一个更大的一个磁盘块

那么一般会比如说

大家经常会使用的

一个磁盘块的大小是4个KB

那么我们可以看一下

这个对于

选512字节大小的磁盘块好呢

还是4个KB的磁盘块好呢

或者甚至是更大

比如说一个MB的磁盘块会好

首先我们可以看到

因为是按照块进行读写的

所以一个文件

会起码占用一个块的一个空间

那即使这个文件只有一个B

那么如果按照4个KB来说的话

那么它起码要占上4个KB

在一个磁盘空间

那这个磁盘空间

就不能被其他文件所使用了

那么剩下的那些

在4个KB里面其他的

上面的内容就被浪费了

那么可以这么说

就是说我在选择的磁盘块越小

那么我浪费的空间会越少

那么这个是比较显而易见的

那么自然而然的

如果我选择的块越大

那么我所浪费的空间就会越大

那么这是对于

磁盘块对于浪费空间的一个关系

但是从另外一个角度讲

从这个磁盘文件系统它本身

所管理的一个数据的复杂性来讲

那比如说

如果我们拿到更小的块

去存储这个数据

那么显而易见

我每一个磁盘块

我也需要一定的元素去描述它

所以我需要从更多的元素

在文件系统里面

我管理的磁盘块会更多

所以我管理会更加复杂一点

然后对于一个大的文件来说

比如说这个大的文件

一般视频文件

比如说是1个GB的

如果我按照512个字节去分的话

我会分成很多很多块

那么分成那么多块的话

所以更加有可能

把每一个块都放到

磁盘的不同的位置

这样放的话

会很容易降低

这个磁片的一个性能

因为大家可以想象

这个磁头会在横向

不断地一个移动

但是如果按照1MB的大小

去切分的话

那第一个

我管理的一个数据

它的所需要管理的磁盘块的数目

就会变得非常少

那么1MB到1GB

只要管一千多块就行了

第一个

第二个呢

我在磁道上面

我更容易把1M的数据

就放到一个磁道上面

这样的话

我会减少我磁头再横向地移动

减少随机的一个读写

这样的话能够提高性能

所以总的来看的话

你选择更小的一个磁盘块

你会浪费空间更少一点

但是呢

我的性能可能会差一些

那么选择更大的磁盘块的话

性能会好一点

那特别是对于大文件来说

但是我需要管理的磁盘块

会更多一点

这样的话也会造成一个影响

所以磁盘块的大小的一个选择

那实际上是需要跟应用程序

它本身的一个特点

或者是你存的文件

它的本身的一个特点

需要联系在一起的

那第一个方面的一个讨论

那么第二个呢

我们再看一下文件系统

一般会需要做一些缓存

因为我们知道

这个内存的一个速度

那么要比磁盘的速度

要高两到三个数量级

在这种情况下

我们会需要说我用一个数据

比如说我这一块数据

那么在特定的时间之内

会长期地不断地去访问这块数据

那么访问了之后

比如说在很短的时间内

又得访问这块数据

那在这个时候呢

我没有必要说

每次都从磁盘里面

把这个数据装到内存里面

而只是只需要把这个数据

缓冲到内存里面就行了

这样的话

能够通过缓存的方法

大大提高数据读写的能力

那么所以呢

在当代的文件系统设计当中

缓存是一个非常重要的一个概念

那么我能够得到缓存的好处的话

那么就需要让这个数据的访问

具有时间局部性

或者是空间局部性

那么时间局部性的意思就是

我一个数据

在某一个时间访问了之后

在不久的将来

马上就会对它进行访问

另外空间局部性就是

我一个数据

它附近的数据

也有可能会被访问到

那么它附近数据会访问到的话

我可以把它们的数据

一起装入到内存里面去

这样的话

我可以在预期

很快就能访问到附近的那个数据

这样的话

我会减少磁盘读写的一个次数

并且磁盘读写的话

整块的读写要比随机的读写要

按照字节

或者小部分的数据读写

要快得多

所以呢

文件系统的缓存

就是需要有一个时间局部性

和空间局部性的一个考虑

那么后面我们在

分布式文件系统当中的时候

我们也会看一下

在分布式文件系统当中

这个问题是怎么考虑的

那么对于文件系统的一个优化

那么特别是对本地文件系统

磁盘文件系统的一个优化

一个非常重要的概念

就是需要对于磁盘的读写

进行优化

那么磁盘其实是一个

机械的一个结构

那么我在读一块数据的时候

它们大概需要经过这么几个过程

第一个呢

我需要知道这个磁盘

这个数据处于哪几个盘片里面

那么一般一块磁盘的话

里面会有两到三个盘片

我先确定一个盘片

然后再确定一个

它是属于

这个盘片的上面的哪一面

那么上面 还是下面

然后我再确定

它处于哪一个磁道

那么这里面的磁道

我可以标记为0

最外面的话

会有一个很大的数据

然后我的机械图

会在磁道上面移动

那移动完了之后

我才能去说

确定说我这个磁盘转到什么位置

我该进行读写

所以呢

如果你这个磁头频繁地在横向

或者在不同的磁道之间进行移动

在这种情况下面的话

你会

显然你在同一个磁道里面

读1M的一个数据

和你在不同的磁道里面读数据

它的性能是不一样的

比如说在左边

那么我只需要顺着读过来

就可以把数据读过来了

那么在右边的话

我现在在内部的磁道读一块数据

再往外再读一块数据

再往外再读一块数据

这样的话

会影响磁道的一个移动

这样的话也会影响

这个磁盘的一个读写的一个效率

所以在磁盘系统的优化当中

有这样重要的一个概念

就是说尽量让我这个磁盘

能够进行顺序的读写

而不是进行随机的读写

有几个数字大家可以记一下

比如说顺序的读写的话

它能够达到的带宽

大概是在100MB以上

那么有一些磁盘

甚至可以达到

将近会有200MB的一个

比如说快速的磁盘

但随机读写的话

能够达到1MB的一个带宽的读写

就已经很不错了

所以在磁盘系统优化里面

这是一个非常重要的一个内容

那么这个是关于文件系统

一些比较重要概念的一个讨论

大数据系统基础课程列表:

1. 绪论

-授课视频

--什么是大数据

--大数据典型应用

--大数据的特点

--大数据技术体系

--大数据生态系统

--大数据技术挑战

--课程内容

-1. 绪论--Quiz 1

2.云计算

-授课视频

--2.1大数据和云计算关系概述

--2.2并行化理念

--2.3规模经济理念

--2.4从仓库规模计算机到云

--2.5云计算商业模式概述

--2.6云计算带来的价值

--2.7云计算的分类

--2.8虚拟化技术概述

--2.9计算虚拟化

--2.10网络虚拟化:基础

--2.11网络虚拟化:软件定义网络

--2.12软件定义网络实现

--2.13存储虚拟化:用户接口

--2.14存储虚拟化:分布式存储实现方式

--2.15虚拟化技术总结

--2.16OPENSTACK

--2.17云计算小结

-2.云计算--Quiz 2

3.文件存储

-授课视频

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-3.文件存储--Quiz3

4. 处理框架

-授课视频

--4.1大数据的处理框架

--4.2MapReduce编程模型

--MapReduce执行过程

--4.4MapReduce数据流

--4.5MapReduce性能优化与容错

--4.6Hadoop

--4.7MapReduce总结

--4.8Pig Latin

--4.9Pig Latin语法

--4.10Pig Latin 嵌套数据类型

--4.11Pig Latin 实现与优化

--Pig Latin 实现与优化(2)

--4.13类似框架

--4.14章节总结

-4. 处理框架--Quiz4

5.内存计算

-授课视频

--5.1内存计算概述

--5.2并行计算挑战

--5.3并行计算的局限性

--5.4大数据处理并行系统

--5.5内存计算需求

--5.6MapReduce文件传递数据

--5.7内存计算的可行性

--5.8内存层次的延迟

--5.9内存计算实例-spark

--5.10SPARK-RDD

--5.11大数据并行系统

--5.12Spark编程接口

--5.13Spark编程实例——Log挖掘

--5.14Spark编程实例——WorkCount

--5.15Spark实现技术

--5.16复杂的DAG示例

--5.17RDD性能的提高

--5.18Spark应用和生态环境

--5.19Spark的局限性

-5.内存计算--Quiz5

6. NoSQL

-授课视频

--NoSQL与Cassandra

--数据模型、接口、语言

--系统架构与Gossip协议

--一致性哈希与数据分区

--数据副本及一致性

--节点本地数据存储

-6. NoSQL--Quiz6

7. 流计算

-授课视屏

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

--Video

-7. 流计算--Quiz7

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。