当前课程知识点:高级大数据系统 >  Distributed File System >  File system and GFS >  Video

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

Video在线视频

Video

下一节:Video

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

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

我们会首先介绍单机上的

这个文件系统

那么文件系统是我们组织数据

在计算机领域组织数据

从始到终的一个方案

当然在最早期的这个计算机系统中

并没有文件系统的概念

他们会直接对数据的

这样一个原始的数据的

记录进行一个操作

但是今天大家能接触到的

这个数据整理的方法

都是以文件系统作为它的

一个底层的支撑

那么文件系统实际上提供到了

什么样的功能

使它成为今天我们去组织数据的

这样一个方案呢

它首先可以用一个

比较规则的办法

比如说文件的名

目录的名

来整理大规模的信息

能够对信息进行有效的分类的

进行比较规则化的一个组织

这是它的一个特征

第二

它能够被进程不断的去访问

不会因为某一个进程的访问

而使得数据产生变化或者丢失

它能够反复的被利用

这是他的第二个特征

第三

它在一些情况下

可以被并行的使用

尤其是在我们大数据的

这样一个处理的背景下

能够被不同的进程并行的使用

实际上是我们对数据组织

一个最基本的要求

那么文件系统它满足了

这样三个数据分析

或者是计算机对存储的一个要求

同时它还有一些其他的这个优势

比如说它把数据组织成了文件

是人理解数据

一个非常直观的方法

然后文件是一个

持久化的一个管理方式

那么使得我们的机器可以在停电

或者说长期不用的情况下

得到一定的保存

达到了数据持久化的

这样一个目标

那么在文件系统中

一个核心的概念

就是怎么样对数据进行命名

今天大家不管在计算机上

用到这个视频文件

或者说一些文档文件

实际上大家都会用一个文件名

去标识这样的一些文件

那么有了文件名

这样一个概念之后

实际上对于数据

我们就会有一个很好的一个查找

或者是索引的一个机制

这是我们进行文件系统的

一个设计的一个最开始的一个目的

在今天的操作系统当中

文件可以被操作系统中的进程进行创建

创建了之后呢

它可以被其他的进程读取

在一定的条件下

进程之间还可以在文件上

进行一些互斥的操作

使得关键的数据不会被误操作

不会被误写

这是和文件相关的

那么单机上的文件系统的组织

它大概有一些什么样的特征呢

那么今天我们来看的话

它内部的组织

大概有这样的一些特征

第一个就是说

它的byte

他会以一定的这个序列在SSD

或者是机械硬盘上进行存储

那么可以达到一个读取时

或者写入时比较高效的一个特性

那么同时它还可以

支持更加复杂的一些结构

假设我们不把数据写成一个序列的话

我们依然可以用树形的结构

或者更复杂的一些链表的结构

来进行数据的一个组织

文件系统完成了

这样的一个组织工作

给上层的操作提供了

数据的这种支撑

那么文件的访问呢

今天文件系统的访问

支撑了文件的顺序访问

比如说大家在写程序的时候

可以用fread来获取一段数据

这段数据会从机械硬盘

或者SSD的

这个存储单元里面读取出来

我们可以进行随机的读取文件系统

提供到了通过一个偏移量

来进行文件定位的一个功能

使得我们可以对文件系统中

某一段特定的数据

进行有效的读取

同时文件系统还对外围进行了一些扩展

除了最基本的数据的读

数据的写之外

他还给到了文件一些

其他的这种属性

比如说在linux的文件系统里面

可以有文件的类型

你可以通过一些命令来知道文件

到底是属于什么类型

怎么样打开

我们可以知道文件的大小

可以指导文件的一些权限

以及文件创建的一些信息

这都是在文件系统中

额外提供的一些属性

使得我们能够更加方便地

利用原始的这个计算机上的数据

今天的文件系统他大概会有一些

什么样的特征呢

一个典型的特征

就是它可以将整个硬盘中

你能够有的空间给利用起来

这是今天的文件系统

它能够支撑的这样一个功能

同时它可以虚拟化出

不同类型的文件系统

比如说可以支撑操作系统的

一个交换区域

来扩展操作系统的虚拟内存

这是今天的现代的操作系统

对文件系统的一个支撑

同时磁盘可以被划分成不同的这个分区

可以允许用户

对分区进行一个管理

那么提供了更加方便的

一个逻辑化的一个操作

那么这是今天大家在

使用自己的电脑

或者说一些服务器上

已经能够感知到的

那么下面

我们会简单的给大家介绍一下

从文件系统在单机上发展到今天

大概经历了怎么样的一些历程

他们怎么样去进行文件的

名字空间到底层的

一个数据结构的一个对应

那么文件被组织成了目录的结构

目录通常是一个

今天我们看来是一个树形结构

但是在最开始的发展的过程当中

实际上目录并不一定是树形的

他在最开始的这样一个历程里面

他被组织成了

一个表状的一个结构

也就是说每一个表里面的元素

实际上对应了磁盘中的某一段

那么用这样的结构

实际上也能够对数据进行整理

其实它并没有本质上太多的差别

那么我们可以查一个表

找到这个文件

然后对应到磁盘的

某一个物理位置和长度

把数据进行写入和读出

那么这是按照单一的

这种表的结构

进行文件的一个数据的allocation

它的一个过程

我们创建了这样一个单一层面的

这样一个数据结构

把从表的这样一个结构

演化到了单一层面的

这样一个数据

这个目录结构

那么在这样一个结构底下

它的一个特征

就是说

已经有了一个层次化的一个概念

虽然它是单层的

我们在里面可以非常简单的

进行文件的一个定位

因为我们只需要经过一次的查找

就能够定位到某一个文件

但它的一个缺点

就是说我们的命名

会变得非常的复杂

我们当需要区别

两个同名的文件的时候

我们就必须要

把这个名字进行一个延长

或者说进行一个前缀

来达到命名的一个区分

那么这样的系统

在历史上也存在过一段

那么接下来就开始进行了演化

演化出了多层的目录

也演化出了

更加类似于树型的目录

那么在多层的目录底下

通常在最开始

是把它组织成了用户的

这样一个结构

也就是说每个用户会拥有自己的

一个独立的根目录

那么每个根目录底下

会有自己的一些目录文件

那么这些文件对应到

磁盘的具体的位置

那么达到了一个简单的树形结构

双层的树形结构

那么它的好处

就是说我们可以对用户

进行一个数据的区分了

但它的缺点

就是说它的目录结构

依然比较简单

每个人只能拥有自己一层的文件

对用户进行了区分

但是对用户内部的一些功能

没有办法进行区分

树形的结构

最终被演化了出来

那么它把刚刚的双层目录

进一步拓展到了多层

每个用户

不但可以拥有自己的目录

那么这个目录底下

还可以拥有嵌套的

这种目录的结构

那么这也更加接近于

我们今天所使用的

单机上的文件系统的

这样一个样子

那么大家从这张图上

可以看得到

每个用户拥有了

自己不同功能的目录

每个目录可能会是一个直接

会是一个文件

对应到磁盘的某一段数据

也可能包含了

其他的这个逻辑结构

对应到下一层的目录

然后下一层可以继续

以这样的结构进行拓展

那么进一步往下发展之后

我们还允许了

在树形结构里面的

这种构造一个circle的

这样一个形态

也就是允许在树形结构里面

引入一些对数据的引用

比如说在这张图中

我们看到有两个文件

指向了同一段数据

那么在今天的windows和linux系统底下

允许的这样的结构的存在

它的好处就是说从逻辑上

更加简单的让用户可以灵活的

访问不同的数据

同时 它在底层的存储上又能够达到

只做一份拷贝的这样一个目标

那么已经是我们今天

现代操作系统的一个样子

高级大数据系统课程列表:

Introduction to Big Data Systems

-What is big data and what is big data system?

--Video

-Problems in big data systems?

--Video

-Overview of the course

--Video

-Principles of big data system design

--Video

Basics of Linux Data Processing

-Manipulating Data on Linux

--Video

--Video

--Video

-Basics of Linux Data Processing--Manipulating Data

-Running Commands on a Single Machine

--Video

-Running Commands on a Single Machine--作业

-Using a Linux Cluster

--Video

-Using a Linux Cluster--作业

Distributed File System

-Storage for Big Data Computing: Distributed file system

--Video

-Storage for Big Data Computing: Distributed file system--作业

-File system and GFS

--Video

-File system and GFS--作业

-Understanding HDFS using Legos

--Video

-Understanding HDFS using Legos--作业

-File System Implementation and DFS

--Video

--Video

-File System Implementation and DFS--作业

MapReduce

-What is MapReduce and why

--Video

-What is MapReduce and why

-Learn MapReduce by playing with cards

--Video

-Processing pattern

--Video

-Processing pattern--作业

-Hadoop

--Video

-Hadoop--作业

-Algorithms in MapReduce

--Video

-Algorithms in MapReduce--作业

-Tutorial

--Video

In-memory Processing

-Background

--Video

-Background--作业

-Spark

--Video

-Spark--作业

-Use Spark for data mining

--Video

-Use Spark for data mining--作业

-Spark data processing

--Video

-Spark data processing--作业

-Experiment in Spark

--Video

-Experiment in Spark--作业

Streaming Data Processing

-Introduction to streaming data processing

--Video

-Introduction to streaming data processing--作业

-Storm

--Video

--Video

--Video

-Storm--作业

-Spark streaming

--Video

--Video

-Spark streaming--作业

NoSQL

-NoSQL introduction

--Video

-NoSQL introduction--作业

-Common Advantages

--Video

-Common Advantages--作业

-Bigtable

--Video

-Bigtable--作业

-Master Startup

--Video

-Master Startup--作业

-HBase

--Video

-HBase--作业

Graph Processing

-What is GraphDB and Graph data processing

--Video

-What is GraphDB and Graph data processing--作业

-Graph systems

--Video

-Graph systems

-Example of a GraphDB

--Video

-Example of a GraphDB--作业

Machine Learning System

-Mahout

--Video

-Mahout--作业

-Case Study: Recommendation

--Video

-Case Study: Recommendatio作业

-Recommendation in Mahout

--Video

-Recommendation in Mahout--作业

Video笔记与讨论

也许你还感兴趣的课程:

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