前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >干货!云存储系统架构如何设计?

干货!云存储系统架构如何设计?

作者头像
码农编程进阶笔记
发布2022-04-08 14:52:29
2.1K0
发布2022-04-08 14:52:29
举报
文章被收录于专栏:码农编程进阶笔记

正文1900字,预计阅读5分钟。

一、云存储系统的优势

  • 云存储系统底层存储基于对象存储存储资源
  • 云存储资源访问完全兼容原有老图库访问规则
  • 图片访问资源转换规则服务,基于动态弹性扩缩容相关部署,避免大流量访问带来的服务器压力
  • 云存储访问资源CDN资源子域名共享CDN缓存

二、云存储系统相关功能

三、云存储适用的场景

1.块存储

传统的文件系统,是直接访问存储数据的硬件介质的。介质不关心也无法去关心这些数据的组织方式以及结构,因此用的是最简单粗暴的组织方式:所有数据按照固定的大小分块,每一块赋予一个用于寻址的编号

以大家比较熟悉的机械硬盘为例,一块就是一个扇区,老式硬盘是512字节大小,新硬盘是4K字节大小。老式硬盘用柱面-磁头-扇区号(CHS,Cylinder-Head-Sector)组成的编号进行寻址,现代硬盘用一个逻辑块编号寻址(LBA,Logical Block Addressing)。所以,硬盘往往又叫块设备(Block Device),当然,除了硬盘还有其它块设备,例如不同规格的软盘,各种规格的光盘,磁带等。

为了方便管理,硬盘这样的块设备通常可以划分为多个逻辑块设备,也就是我们熟悉的硬盘分区(Partition)。反过来,单个介质的容量、性能有限,可以通过某些技术手段把多个物理块设备组合成一个逻辑块设备,例如各种级别的RAID,JBOD,某些操作系统的卷管理系统(Volume Manager)如Windows的动态磁盘。

在网络存储中,服务器把本地的一个逻辑块设备——底层可能是一个物理块设备的一部分,也可能是多个物理块设备的组合,又或者多个物理块设备的组合中的一部分,甚至是一个本地文件系统上的一个文件——通过某种协议模拟成一个块设备,远程的客户端(可以是一台物理主机,也可以是虚拟机,某个回答所说的块设备是给虚拟机用是错误的)使用相同的协议把这个逻辑块设备作为一个本地存储介质来使用,划分分区,格式化自己的文件系统等等。这就是块存储,比较常见的块存储协议是iSCSI,SCSI,FC。

块存储读写速度最快,但查询速度最慢。(磁带机就是一种块存储设备)数据管理难度最高。

块存储是底层存储,直接写入或读取硬盘扇区(块)。多用于硬件设备和文件系统直接管理存储。优点是写入读取速度快(直接),缺点是管理查询难,需要依附于上层文件系统(如:磁盘分区表)。

适用场景:数据中心块设备集群、磁带机存储阵列、硬盘内部工作....块存储设备适合大批量冷数据快速写入及管理。

如:数据库系统

2.文件存储

把存储介质上的数据组织成目录-子目录-文件这种形式的数据结构,用于从这个结构中寻找、添加、修改、删除文件的程序,以及用于维护这个结构的程序,组成的系统有一个专用的名字:文件系统(File System)

文件系统有很多,常见的有Windows的FAT/FAT32/NTFS,Linux的EXT2/EXT3/EXT4/XFS/BtrFS等。而在网络存储中,底层数据并非存储在本地的存储介质,而是另外一台服务器上,不同的客户端都可以用类似文件系统的方式访问这台服务器上的文件,这样的系统叫网络文件系统。

文件存储读写速度最慢,查询速度适中,但人可以直接使用,容易管理(直观树状结构)安全性较差,价格便宜。

文件存储就是我们常看到的文件树状结构,方便用户直接访问。

优点是直观,缺点是计算机查询文件效率低,安全性差。是面向用户的计算机系统里最常见的文件存储方式。

使用场景:你的计算机、手机、移动硬盘、U盘、NAS、NFS存储系统、FTP

开源的文件系统:FastDFS,TFS

3.对象存储

对象存储其实介于块存储和文件存储之间。文件存储的树状结构以及路径访问方式虽然方便人类理解、记忆和访问,但计算机需要把路径进行分解,然后逐级向下查找,最后才能查找到需要的文件。

对象存储读写速度和块存储相当,查询速度最快,扩容简单,程序容易管理,安全性较高。

对象存储可以理解为把文件分解成一个个对象进行存储,简单说就是存储文件会附加一段元数据,查询时寻找元数据然后定位到文件即可。对象存储相当于在块存储的分块上加一个描述标签,增强了文件的可查询性便于管理。

对象存储可以说结合了文件存储和块存储的优点,是存储的发展方向。是面向程序和系统的最优文件存储方式。

对象存储就可以非常简单的扩展到超大规模,因此非常适合数据量大、增速速度又很快的视频、图像等。

适用场景:各大公有云存储系统及网盘(OSS、S3、COS、七牛云对象存储),专业的存储系统,对存储量要求较高的大型存储系统,对高可用要求较高的存储系统,专业的企业网盘

目前开源的对象存储系统:MinIO、SeaWeedfs、GlusterFS、Ceph

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农编程进阶笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档