博客
关于我
架构师之路 - 存储架构
阅读量: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/

你可能感兴趣的文章
mysql 数据库备份及ibdata1的瘦身
查看>>
MySQL 数据库备份种类以及常用备份工具汇总
查看>>
mysql 数据库存储引擎怎么选择?快来看看性能测试吧
查看>>
MySQL 数据库操作指南:学习如何使用 Python 进行增删改查操作
查看>>
MySQL 数据库的高可用性分析
查看>>
MySQL 数据库设计总结
查看>>
Mysql 数据库重置ID排序
查看>>
Mysql 数据类型一日期
查看>>
MySQL 数据类型和属性
查看>>
mysql 敲错命令 想取消怎么办?
查看>>
Mysql 整形列的字节与存储范围
查看>>
mysql 断电数据损坏,无法启动
查看>>
MySQL 日期时间类型的选择
查看>>
Mysql 时间操作(当天,昨天,7天,30天,半年,全年,季度)
查看>>
MySQL 是如何加锁的?
查看>>
MySQL 是怎样运行的 - InnoDB数据页结构
查看>>
mysql 更新子表_mysql 在update中实现子查询的方式
查看>>
MySQL 有什么优点?
查看>>
mysql 权限整理记录
查看>>
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>