专栏首页cwl_Java快速学习-什么是分布式文件系统

快速学习-什么是分布式文件系统

1 什么是分布式文件系统

1.1 技术应用场景

分布式文件系统解决了海量文件存储及传输访问的瓶颈问题,对海量视频的管理、对海量图片的管理等。

1.2 什么是分布式文件系统

1.2.1 什么是文件系统

引用“百度百科”中的描述:

总结:文件系统是负责管理和存储文件的系统软件,它是操作系统和硬件驱动之间的桥梁,操作系统通过文件系统 提供的接口去存取文件,用户通过操作系统访问磁盘上的文件。如下图:

常见的文件系统:FAT16/FAT32、NTFS、HFS、UFS、APFS、XFS、Ext4等 。

思考:如果没有文件系统我们该怎么管理自己的文件?

1.2.2 什么是分布式文件系统

引用“百度百科”中的描述:

为什么会有分布文件系统呢? 分布式文件系统是面对互联网的需求而产生,互联网时代对海量数据如何存储?靠简单的增加硬盘的个数已经满足 不了我们的要求,因为硬盘传输速度有限但是数据在急剧增长,另外我们还要要做好数据备份、数据安全等。

采用分布式文件系统可以将多个地点的文件系统通过网络连接起来,组成一个文件系统网络,结点之间通过网络进 行通信,一台文件系统的存储和传输能力有限,我们让文件在多台计算机上存储,通过多台计算共同传输。如下图:

好处:

  1. 一台计算机的文件系统处理能力扩充到多台计算机同时处理。
  2. 一台计算机挂了还有另外副本计算机提供数据。
  3. 每台计算机可以放在不同的地域,这样用户就可以就近访问,提高访问速度。

1.3 主流的分布式文件系统

1、NFS

1)在客户端上映射NFS服务器的驱动器。 2)客户端通过网络访问NFS服务器的硬盘完全透明。

2、GFS

1)GFS采用主从结构,一个GFS集群由一个master和大量的chunkserver组成。 2)master存储了数据文件的元数据,一个文件被分成了若干块存储在多个chunkserver中。 3)用户从master中获取数据元信息,从chunkserver存储数据。

3、HDSF

1)HDFS采用主从结构,一个HDFS集群由一个名称结点和若干数据结点组成。名称结点存储数据的元信息,一个完整的数据文件分成若干块存储在数据结点。

2)客户端从名称结点获取数据的元信息及数据分块的信息,得到信息客户端即可从数据块来存取数据。

1.4 分布式文件服务提供商

1)阿里的OSS

2)七牛云存储 3)百度云存储

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速学习-梅克尔-帕特里夏树

    基数树又叫压缩前缀树(compact prefix tree),是一种空间优化后的字典树,其中如果一个节点只有唯一的子节点,那么这个子节点就会与父节点合并存储 ...

    cwl_java
  • 快速学习-Mybatis 多表查询之一对多

    需求 查询所有账户信息,关联查询下单用户信息。 注意: 因为一个账户信息只能供某个用户使用,所以从查询账户信息出发关联查询用户信息为一对一查询。如果从用户...

    cwl_java
  • 设计模式-命令模式

    cwl_java
  • ASP.NET Core WebApi+EF Core轻量级文件系统实战演练

    1、 如何通过最简单的方式基于今天我们学习的轻量级文件系统改造成升级为一个分布式文件系统呢?

    跟着阿笨一起玩NET
  • 如何使用Hive集成Solr?

    我是攻城师
  • 【集合详解】ArrayList 源码解读之动态扩容

    ArrayList 是一个 Java 集合,它的底层数据结构实际上就是一个数组,只不过这个数组长度不固定,动态可变,其中数组元素的类型是 Object 类型的,...

    周三不加班
  • 装饰模式(Decorator)

    Java高级架构
  • java 通讯录Map接口实现

    葫芦
  • 3分钟短文 | MySQL存时间,到底该用timestamp还是datetime?

    今天我们把知识的焦点投向数据库方面,因为数据库是应用程序的基石,是一切生产的动力。先说一个小小的知识点,在存储日期时间时,应该选用 timestamp 时间戳类...

    程序员小助手
  • A Bite of GoLang(上)

    A bite of GoLang(浅尝GoLang),本文只是Go语言的冰山一角,本文包含作者学习Go语言期间积累的一些小的经验,同时为了方便让读者了解到Go语...

    盛国存

扫码关注云+社区

领取腾讯云代金券