博客
关于我
架构师之路 - 存储架构
阅读量:636 次
发布时间:2019-03-14

本文共 1573 字,大约阅读时间需要 5 分钟。

存储设计入门:架构与技术解析

在软件架构设计中,存储系统是核心组成之一。了解存储的工作原理、分类以及分布式架构的实现,对于系统设计至关重要。本文将从多个维度深入探讨存储技术的相关知识。


存储分类

从架构角度看,存储系统主要分为集中式存储与分布式存储两大类。

集中式存储

集中式存储将所有数据集中存储在单一的物理设备上,各个终端通过网络与中心设备连接。这种方式确保了数据的一致性和管理的便捷性,适合小型系统或对数据一致性要求高的场景。然而,因其成本较高且扩展性有限,主要应用于商业环境。

分布式存储

分布式存储通过将数据分散存储在多个独立设备上,利用网络进行数据共享与访问。这种架构具有高可用性、可扩展性和抗故障能力,适合大规模数据存储需求。分布式存储通常结合专用管理软件自建。


存储使用方式

从使用者的角度来看,存储系统主要分为三个类别:块存储、文件存储和对象存储。

块存储

块存储以磁盘为基本单位,操作对象是裸磁盘空间。使用时需对磁盘进行分区、格式化等操作,且不支持文件共享。

文件存储

文件存储以文件为操作单位,数据按目录结构组织。挂载后可直接访问文件,操作简单且无需格式化。

对象存储

对象存储以键值对为基本单元,不需要挂载,直接通过应用接口访问。适合需要高效管理大规模数据的场景。


存储协议

从协议角度看,存储系统主要支持NFS、CIFS和ISCSI三大协议。

NFS(Network File System)

NFS是异构环境下的文件共享标准,支持跨平台访问,广泛应用于Unix环境。

CIFS(Common Internet File System)

CIFS主要用于Windows环境,支持跨平台的文件共享。

ISCSI(Internet SCSI over IP)

ISCSI通过TCP/IP传输文件,适用于块存储场景。


存储链接方式

从存储链接角度看,主要分为DAS、NAS和SAN三种方式。

DAS(Direct Attached Storage)

DAS是普通存储架构,与PC存储类似,存储设备直接挂接在服务器内部总线上,访问需通过服务器。

NAS(Network Attached Storage)

NAS通过网络接口直接接入存储设备,提供文件存储服务,类似瘦服务器,功能简单但高效。

SAN(Storage Area Network)

SAN以光纤为传输介质,构建专用网络,连接服务器、磁盘阵列等存储设备,具备高性能和低延迟。


主流存储厂商及产品

在商业领域,EMC、NetApp、DELL、Huawei等厂商占据主导地位。开源存储产品包括FastDFS、Swift、HDFS、Lustre、GlusterFS和Ceph等。


分布式存储架构

分布式存储架构可分为对称式和非对称式两种模式。

对称式架构

所有节点角色相同,共同管理元数据,节点间通过高速网络同步数据。

非对称式架构

有专门节点负责元数据管理,其他节点需频繁与元数据节点通信。


FastDFS架构示例

FastDFS采用非对称式架构,包含Tracker Server和Storage Server两类节点。

  • Tracker Server:负责负载均衡和数据调度。
  • Storage Server:以卷为单位组织存储,卷内多台机器镜像存储,确保数据冗余。

Swift架构示例

Swift采用对称式架构,分为Account、Container和Object三层,具备高度扩展性。

  • Account:用户身份层。
  • Container:文件夹层。
  • Object:存储层。

小结

本文从多个维度解析了存储技术,重点介绍了分布式存储架构的实现方式。理解这些知识对于架构设计至关重要。如有需要,欢迎在评论区留言交流。

收藏等于白嫖,点赞才是真情!关注公众号,获取更多干货分享。

转载地址:http://ducoz.baihongyu.com/

你可能感兴趣的文章
org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded
查看>>
org.tinygroup.serviceprocessor-服务处理器
查看>>
org/eclipse/jetty/server/Connector : Unsupported major.minor version 52.0
查看>>
org/hibernate/validator/internal/engine
查看>>
SQL-36 创建一个actor_name表,将actor表中的所有first_name以及last_name导入改表。
查看>>
ORM sqlachemy学习
查看>>
orm总结
查看>>
os.path.join、dirname、splitext、split、makedirs、getcwd、listdir、sep等的用法
查看>>
os.system 在 Python 中不起作用
查看>>
OSCACHE介绍
查看>>
SQL--合计函数(Aggregate functions):avg,count,first,last,max,min,sum
查看>>
OSChina 周四乱弹 ——程序员为啥要买苹果手机啊?
查看>>
OSError: no library called “cairo-2“ was foundno library called “cairo“ was foundno library called
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:几何对象的绘制(二)——简易房屋
查看>>
OSG学习:场景图形管理(一)——视图与相机
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(二)——单窗口多相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>