存储是怎样炼成的?

什么FAT,NTFS,NFS,DAS,SAN,NAS,OSD这些名词我一个都不认识。

不知道各位大佬对上面的名词了解多少,通过上面的一些名词其实可以大致的看到存储是怎样一步步发展的。其中FAT,NTFS和NFS都是支持特定存储协议的存储系统,DAS,SAN,NAS,OSD是一种存储模型。稍微科普一下:

FAT,NTFS大家肯定比较熟悉,这个就是单机文件系统,类似的还有EXT4等等。windows系统就是NTFS,Linux是EXT4居多。

NFS(Network File System)即网络文件系统,它允许网络中的计算机之间通过TCP/IP网络共享资源。使计算机可以像操作单机文件系统一样操作网络中的资源。

DAS(Direct-Attached Storage)直连式存储,是一种常用的存储模型。比如我们常用的移动硬盘,U盘就是直连式存储。它有非常大的弊端,不易扩容,性能低,不可靠等。

SAN(Storage Area Network)存储区域网络,它其实是建立专用于存储的区域网络,以达到存储和主机的物理分离。主要面向企业级存储,从理论上讲其易扩容可以支撑海量的数据存储,但是需要建立专用的光纤网络,成本较高。

NAS(Network Attached Storage)网络附加存储,可以简单理解为便捷的局域网存储装置,在linux系统中可以通过NFS协议挂载NAS存储。NAS相对于SAN拥有自己的操作系统,可以与各个系统更好的兼容,且更加灵活。

OSD(Object-based Storage Device)对象存储,对象存储是一种新的网络存储架构,它兼具SAN高速直接访问磁盘和NAS分布式共享的特点,将数据存储和元数据信息分离,可以更加灵活的管理数据的存储。

了解了上面那么多的名词,我们对于存储的发展大概有了一个认识了。其实存储的发展大概可以分为4个阶段,分别是单机文件系统,网络文件系统,集群文件系统和分布式文件系统。

单机文件系统

以FAT,NTFS为代表,DAS其实也可以算作单机文件系统,他们共同的特点就是文件存储在单台服务器上,依靠操作系统的文件系统来实现文件的存储和管理。随着数据量的增大以及对与数据安全性的需求越来越高,它们的缺点也日益显露。

  1. 可扩展性:容量小,无法存储大量数据,而且不能进行扩展。
  2. 性能:随着文件数量的增多,读写性能会下降
  3. 可靠性:没有备份机制,一旦硬件出了故障会造成数据的丢失。

网络文件系统

以NAS为代表,应用实现比如我们常用的网盘。它依托于网络提供了一定的便捷性,而且支持容量扩展,解决了单机文件系统容量小的问题。但是对于性能和可靠性的问题并没解决。

集群文件系统

以SAN为代表,实现比如RedHat的GFS(非Google的GFS),它是通过多个节点构成一个集群,各个节点的数据是相同的,对其中一个节点的数据进行修改时,其会以广播的形式通知其他各个节点。通过这一特性解决了单机文件系统存在的各项缺点。支持多个节点的扩展,多台节点共同提供服务提高性能,多个节点都进行数据保存保障数据的可靠性。但是其同样拥有很多缺点,集群的节点不能太多,对某一数据进行修改需要修改整个集群等等

分布式文件系统

以HDFS,CEPH和OSD为代表,实现了支持大规模节点的集群,并且提高了存储性能和数据的可靠性。我们用过HDFS或者CEPH的都清楚,他们依托于廉价的存储设备,可以随时增删节点对整个集群进行动态的扩容,高度可扩展。可以有效的避免单点故障,具有很高的容错性,可以提高稳定可靠的服务。整个分布式系统具有较高的吞吐量,可以满足大数据时代对于数据的存储。

前面的文章初识大数据中我们提到了HDFS和CEPH,两者都是当前使用较广泛的分布式存储服务,支持万级集群规模,应用感知进行负载均衡优化性能和效率。HDFS作为Hadoop的一大核心为分布式计算提供了有力的支持,但是由于其设计对于小文件的支持并不好。CEPH实现了统一存储,同时支持文件,块和对象存储。两者都支持数据的归档压缩提高存储空间利用率,并以纠删码技术为主,复制副本技术为辅提高数据的可靠性。

是时候发明一个新名词了~~~

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏机器学习算法与Python学习

Python中常用的一些架构

在各种语言平台中,python涌现的web框架恐怕是最多的,是一个百花齐放的世界,各种micro-framework、framework不可胜数;猜想原因应该是...

5074
来自专栏北京马哥教育

如何实现多站点运维监控?

在小型公司里如果产品线单一的话,比如就一个app, 一般1~2个运维就够用了,如果产品过于庞大,就需要多个运维人员,但对于多产品线的公司来说,运维人员就要必须...

1522
来自专栏Linyb极客之路

理解分布式系统中的缓存架构(下)

承接上一篇《理解分布式系统中的缓存架构(上)》,介绍了大型分布式系统中缓存的相关理论,常见的缓存组件以及应用场景,本文主要介绍缓存架构设计常见问题以及解决方案,...

981
来自专栏云计算认知升级

小程序·云开发 项目开发经验分享

近期,小程序开放了新的能力——「小程序·云开发」,帮助开发者快速构建微信小程序的后端服务。我作为一名微信小程序的开发者,也在第一时间尝试了小程序云开发,并将我自...

3.8K14
来自专栏魏琼东

DotNET企业架构应用实践-系统架构与性能-缓存技术与ORM中的缓存查询技术

系列回顾       在前面的文章DotNET企业架构应用实践-系统架构与性能-理论依据及相关做法一文中我介绍了系统性能优化的理论做了一个概括的介绍,也简单的介...

2257
来自专栏owent

libatbus基本功能及单元测试终于写完啦

经过茫茫长时间的编写+过年在家无聊补充和修正单元测试,再加上这两天的整理,终于把以前的这个关于服务器通信中间件的基本功能和相应的单元测试完成啦。还是可以热烈庆祝...

962
来自专栏jerryteng的专栏

如何利用最低配的腾讯云快速搭建高并发在线服务

这里是作为开发用,我们就选择一个普通的服务器,我也是很不好意思的申请了相关的学生机,那我们就用学生机来搭建一个高并发的在线服务。这个机器配置很低,我还进行了降级...

93810
来自专栏FreeBuf

利用HTTP参数污染方式绕过谷歌reCAPTCHA验证机制

今年初,我上报了一个谷歌reCAPTCHA验证码绕过漏洞,该漏洞在于能用一种HTTP参数污染的不安全方式,让Web页面上的reCAPTCHA构造一个针对 /re...

3043
来自专栏服务端技术杂谈

动手撸一个规则引擎

最开始听说过规则引擎可能是一个类似于OA的系统中,通过规则配置,让一个审批流程得到配置化和规则化。

1734
来自专栏在线教育技术团队专栏

对于服务端bug处理的一些建议

清楚bug所在业务的逻辑,了解正常的流程应该是什么,业务的入口在哪里,重现的步骤

1712

扫码关注云+社区

领取腾讯云代金券