点击链接阅读原文,获取更多技术内容:https://developer.aliyun.com/article/1272997?utm_content=g_1000376104
本文主要介绍常用的存储类型及其比较和区别,帮助您根据不同的需求和场景选择合适的存储类型。
作者| 秋英
来源| 阿里巴巴开发者公众号
AIGC、GPT大模型、数据中心等热点话题近期备受关注。那么针对不同的行业场景如何选择兼容的存储介质呢?在选择时应该考虑哪些因素呢?
本文主要介绍常用的存储类型及其比较和区别,以便大家针对不同的需求和场景选择合适的存储类型。
存储类型简介
存储的物理层实际上只是磁盘。磁盘是一种使用磁记录技术来存储数据的存储器。磁盘是计算机的主要存储介质,可以存储大量的二进制数据,即使断电也不会丢失数据。早期计算机使用的磁盘是软盘(也称软盘、软盘),现在常用的磁盘是硬盘(硬盘、硬盘)。
磁盘知识简介
存储磁盘的三个常见指标:吞吐量、IOPS 和延迟。三个指标之间存在关系,具体表示为:每秒吞吐量=I/O 大小* IOPS * 并行度(IOPS 延迟)。
1. 吞吐量是指单位时间内通过网络、设备、端口、虚拟电路或其他设施成功传输的数据量(以位、字节、数据包等为单位衡量)。
2. IOPS(每秒输入/输出操作数)是一种用于测试计算机存储设备性能的测量方法,例如机械硬盘HDD、固态硬盘SSD、混合硬盘HHD或存储区域网络SAN。可以视为每秒的读取和写入次数。
3. 延迟是指启动数据读取请求和读取数据之间的时间间隔。
阿里云存储产品底层原理
阿里云存储利用虚拟化技术,将物理存储资源池化为物理层磁盘资源,构建分布式资源调度系统——盘古系统。这使得我们能够为用户和客户提供类似于水的按需付费服务。电力煤炭资源,按需使用体验。
存储类型区别
存储方式区别
文件、块和对象是三种存储格式,它们以不同的方式存储、组织和显示数据。
1. 文件存储NAS 以文件和文件夹的层次结构组织和显示数据。
2.块存储EBS将数据划分为大小相等的任意分区卷。
3. 对象存储OSS管理数据并将其链接到相关元数据。
接口协议区别
这三款存储产品也有不同的接口协议。
1、文件存储NAS文件系统构建的协议为NFS和SMB协议,支持POSIX接口访问。
2、块存储EBS协议是阿里云自主开发的协议,封装接口为iSCSI。
3、对象存储OSS协议是HTTP/HTTPS协议(Restful API),通过URL域名地址定位文件,支持AWS S3接口。
应用场景区别
三款产品的数据存储结构不同,适合不同的应用场景。
文件存储NAS
NAS文件系统存储架构是目录树结构,可以支持数千个虚拟机通过POSIX接口同时高并发访问,支持随机读写、在线修改、直接读写。
块存储EBS
1. EBS的优点是高性能、低延迟。适用于IO密集型、高性能、低延迟的应用工作负载,例如OLTP、NoSQL数据库,并支持随机读写。
2. EBS 是RAW 磁盘,一旦挂载到ECS 上,必须将其格式化为文件系统(ext3、ext4、NTFS 等)才能访问。
3、EBS无法提供灵活的扩容能力。单盘最大容量为32 TB,共享访问需要集群管理软件,例如Oracle RAC 或WSFC Windows 故障转移集群。因此,块存储EBS主要是针对单台ECS的高性能、低延迟的存储产品。
对象存储OSS
OSS存储架构是简单存储服务(S3)的平面文件配置格式,不支持文件的随机读写。主要适用于互联网架构中大量数据的上传、下载和分发。
对象存储在存储桶中。对象类似于文件,存储桶类似于文件夹或目录。对象和存储桶通过统一资源标识符(URI) 进行搜索。但是,实际显示的文件夹是: /.resource 只是一个前缀。
存储产品
延迟
犹豫
协议
访问模式(虚拟机访问存储数据的接口)
应用场景
文件存储NAS
毫秒级
数百Gbps
网络文件系统、中小企业
通过POSIX接口随机读写同时访问数千台ECS。
高并发、在线修改、直接读写场景
对象存储OSS
几十毫秒
数百Gbps
HTTP、HTTPS(Restful API)
数百万客户通过网络同时添加内容
基于互联网架构的海量数据上传、下载、分发
块存储EBS
微秒级
数十Gbps
自学合同
单台ECS通过POSIX接口访问,可随机读写。
非常适合IO密集型数据库/单ECS高性能、低延迟应用工作负载
协议、接口详细区别
什么是接口?什么是协议?
协议:协议定义两个或多个通信实体之间交换的消息的格式和顺序,以及发送和/或接收消息和其他事件所采取的操作。
接口:在编程中,接口通常与模块相关联。模块是对程序实体的定义进行物理分组的程序单元,可以单独编写和编译。模块由两部分组成:接口和实现。模块的接口指定了模块内定义的一些可以被其他模块使用的程序实体。模块实现是指模块内定义的程序实体的具体实现。接口充当模块设计者和用户之间的约束。用户根据模块的接口使用模块提供的功能,模块实现者根据指定的模块接口来实现。
其余60%请点击以下链接查看全文:https://developer.aliyun.com/article/1272997?utm_content=g_1000376104
版权声明:本文由今日头条转载,如有侵犯您的版权,请联系本站编辑删除。