「分布式存储」,是将数据分散存储在多台独立的设备上,采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
分布式存储一般结合管理软件自建。
存储使用方式
从使用者的角度对存储进行分类可以分为三类:块存储,文件存储,对象存储。
使用方式分类
「块存储:」 一般体现形式是卷或者硬盘,主要操作对象是磁盘,将裸磁盘空间整个映射给主机使用。在此种方式下操作系统需要对挂载的裸硬盘进行分区、格式化后,才能使用。块存储无法进行文件共享。
「文件存储:」 一般体现形式是目录和文件,数据以文件的方式存储和访问,按照目录结构进行组织。此种方式也需要挂载,挂载后为一个目录,可直接存取其中的文件;不需要格式化。
「对象存储:」 主要操作对象是对象Object,本质上是键值对存储系统,不需要挂载,直接通过应用接口访问。
存储协议
从协议角度分类存储可以分为NFS、CIFS、ISCSI协议。
「NFS (Network File System,网络文件系统)」 是当前主流异构平台共享文件系统之一,主要应用于Unix环境下。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件,使得每个计算机的节点能够像使用本地资源一样方便地使用网上资源。换言之,NFS 可用于不同类型计算机、操作系统、网络架构和传输协议运行环境中的网络文件远程访问和共享。「针对共享文件存储。」
「CIFS(Common Internet File System,公共互联网文件系统)」 主要应用在NT/Windows环境下,其工作原理是让CIFS协议运行于TCP/IP通信协议之上,让Unix计算机可以在网络邻居上被Windows计算机看到。「针对共享文件存储。」
「ISCSI (Internet SCSI/SCSI over IP)」 :主要应用在Windows环境下,适用于TCP/IP通讯协议,是通过TCP/IP网络传输文件时的文件组织格式和数据传输方式。「针对数据块存储。」
存储链接方式
从存储链接角度分类存储可以分为DAS、NAS、SAN三类。
「DAS(Direct Attached Storage):」
直接附加存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分,任何客户端想要访问存储设备上的资源就必须要通过服务器。
DAS架构
「NAS(Network Attached Storage):」
在NAS存储结构中,存储系统不再通过I/O总线附属于某个特定的服务期或客户机,而是直接通过网络接口直接与网络相连,用户通过网络访问。NAS实际上是带有一个“瘦服务器”的存储设备,作用类似于一个专用的文件服务器,而不是传统通用服务器,去掉了大多数功能,仅仅提供文件系统功能,用于存储服务。
NAS架构
「SAN(Storage Area Network):」
SAN是一种以网络为中心的存储结构,不同于普通以太网,SAN是位于服务器的后端,为连接服务器、磁盘阵列、带库等存储设备而建立的高性能**「专用网络(光纤通道)」**。
SAN 架构
主流存储厂商及产品
商业存储厂商有:EMC、NetApp、DELL、Huawei、曙光等
开源的存储产品有:
-
FastDFS(对象)
-
Swift(对象)
-
HDFS(对象)
-
Lustre(块)
-
GlusterFS(文件)
-
Ceph(块、文件、对象)
分布式存储架构
集中式存储一般使用商业软件且由厂家负责安装配置,我们这里主要讲一下分布式存储架构。
按照元数据的管理方式,存储架构可分为对称式和非对称式两种架构模式。
在对称式架构中每个节点的角色均等,共同管理和维护元数据,节点间通过高速网络进行信息同步和互斥锁等操作。(每台节点安装的组件一样)
而非对称式集群文件系统中,有专门的一个或者多个节点负责管理元数据,其他节点需要频繁与元数据节点通信以获取最新的元数据比如目录列表、文件属性等等。(元数据节点与存储节点分离)
接下来我们看看两种不同架构模式下的代表产品:FastDFS 和 swift。
FastDFS典型架构
FastDFS架构
FastDFS采用的是非对称架构,分为Tracker server和Storage server。
Tracker server作为中心结点,管理集群拓扑结构,其主要作用是负载均衡和调度。
Storage server 以卷为单位组织,一个卷内包含多台storage机器,每个卷中的服务器是镜像关系,数据互为备份,存储空间以卷内容量最小的storage为准,所以建议group内的多个storage尽量配置相同,以免造成存储空间的浪费。
Swift典型架构
swift架构
Swift采用的是完全对称、面向资源的分布式系统架构设计,所有组件都可扩展。
Swift将整个存储分为三个层次:Account、Container 和 Object。
小结
–
本文给大家介绍了存储的相关知识,存储这一块的内容比较枯燥大家了解即可,重点需要关注分布式存储架构。
如果本文对你有帮助,
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
总体来说,如果你想转行从事程序员的工作,Java开发一定可以作为你的第一选择。但是不管你选择什么编程语言,提升自己的硬件实力才是拿高薪的唯一手段。
如果你以这份学习路线来学习,你会有一个比较系统化的知识网络,也不至于把知识学习得很零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
零散。我个人是完全不建议刚开始就看《Java编程思想》、《Java核心技术》这些书籍,看完你肯定会放弃学习。建议可以看一些视频来学习,当自己能上手再买这些书看又是非常有收获的事了。
[外链图片转存中…(img-IhVvyJrT-1713736800784)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!