什么是块存储(Block Storage)?
块存储(Block Storage)是一种将数据组织成固定大小“块”的存储方式,每个块都有唯一的地址标识。从用户视角看,它就像一块独立的、可格式化的硬盘。
核心特性与典型应用
- 结构:数据被分割成大小相等的块(如512字节、4KB),每个块可独立寻址和访问。
- 访问方式:通常通过操作系统挂载为本地磁盘,支持完整的文件系统操作(如格式化、创建目录、读写文件)。
- 性能:提供低延迟、高IOPS(每秒输入/输出操作数)的读写能力,适合对性能要求高的场景。
- 典型应用:
- 数据库(如MySQL, PostgreSQL)的主存储。
- 企业级应用服务器或虚拟机的系统盘和数据盘。
- 需要高性能随机读写的业务场景。
- 云服务示例:阿里云SSD云盘、高效云盘;AWS EBS(弹性块存储);腾讯云CBS(云硬盘)。
什么是对象存储(Object Storage)?
对象存储(Object Storage)是一种将数据作为独立“对象”进行管理的存储架构。每个对象包含数据本身、可扩展的元数据以及全局唯一的标识符。
核心特性与典型应用
- 结构:数据以“对象”形式存储,每个对象包含数据、元数据和唯一标识符(如URL或Key)。
- 访问方式:主要通过RESTful API(HTTP/HTTPS)进行存取和管理,不支持像本地磁盘那样直接挂载和文件系统操作。
- 扩展性:天生具备近乎无限的横向扩展能力,适合存储海量非结构化数据。
- 成本与持久性:通常成本较低,并提供极高的数据持久性(如11个9的可靠性)。
- 典型应用:
- 静态网站托管(图片、CSS、JS文件)。
- 备份与归档数据。
- 用户生成内容(UGC)存储,如图片、视频、文档。
- 大数据分析的数据湖底层存储。
- 云服务示例:阿里云OSS;AWS S3;腾讯云COS;百度云BOS。
块存储与对象存储的核心区别
| 对比维度 | 块存储 (Block Storage) | 对象存储 (Object Storage) |
|---|---|---|
| 数据组织 | 固定大小的块 | 包含数据、元数据和ID的对象 |
| 访问协议 | SCSI, iSCSI, FC(通过操作系统挂载) | HTTP/HTTPS RESTful API |
| 性能特点 | 低延迟,高IOPS,适合随机读写 | 高吞吐,适合顺序读写,延迟较高 |
| 扩展性 | 纵向扩展为主(增大单盘容量/性能) | 近乎无限的横向扩展 |
| 主要用途 | 数据库、虚拟机磁盘、高性能应用 | 静态文件、备份归档、海量非结构化数据 |
| 元数据 | 有限(主要由文件系统管理) | 丰富且可自定义 |
| 成本模型 | 通常按预配置容量收费 | 通常按实际使用量(存储量、请求次数、流量)收费 |
如何选择?
选择块存储还是对象存储,取决于您的具体需求:
- 选择块存储,如果:您的应用需要低延迟、高IOPS的随机读写访问,例如运行数据库、ERP系统或作为虚拟机的启动盘。
- 选择对象存储,如果:您需要存储海量的图片、视频、日志文件等非结构化数据,并且需要通过互联网直接访问或进行大数据分析。它对扩展性、成本和数据持久性要求更高。
在现代云架构中,两者常结合使用。例如,将核心业务数据库放在高性能块存储上,同时将生成的报表、用户上传的附件等静态资源存放在成本更低、扩展性更好的对象存储中。
说了等于没说
对 。。。自己记得笔记而已