对象存储如何部署(对象存储学习笔记)

在很长的一段时间里,DAS、SAN和NAS技术这三种架构几乎统治了数据存储市场。

对象存储如何部署(对象存储学习笔记)(1)

DAS和SAN是基于物理块的存储方式,而NAS是基于文件的存储方式。在DAS和SAN中,存储资源就像一块一块的硬盘,直接挂载在主机上,常称之为块存储。而在NAS中,呈现出来的是一个基于文件系统的目录架构,有目录、子目录、孙目录、文件,我们称之为文件存储。文件存储的最大特点,就是所有存储资源都是多级路径方式进行访问的。

对象存储如何部署(对象存储学习笔记)(2)

如今数据#存储#需求发生了两大变化。一是数据量爆炸式增长,不断吞噬着存储资源;二是图像、音频、视频、word文章、演示胶片这样的非结构化数据占比快速增加,按某机构统计,现在全球数据总量的80%是非结构化的。因为本身技术和架构的限制,DAS、SAN和NAS无法进行高效存储,于是更适应需求的对象存储技术火了。

最近两年对象存储更好像是成了#云计算#时代存储技术的新网红,那就来学习一下。

对象存储,英文是Object-based Storage。不同的云厂商对它有不同的五花八门英文缩写。比如阿里云、天翼云把自家的对象存储叫做OSS,华为云叫OBS,腾讯云叫COS,七牛叫Kodo,百度叫BOS,网易叫NOS……

对象存储的底层硬件介质,依然是硬盘,和块存储、文件存储没有区别,与前两者不同的是架构在底层硬件之上的系统。

块存储,操作对象是磁盘。存储协议是SCSI、iSCSI、FC。以 SCSI 为例,主要接口命令有 Read/Write/Read Capacity/Inquiry 等等。

文件存储,操作对象是文件和文件夹。存储协议是NFS、SAMBA(SMB)、POSIX等。以NFS(大家应该都用过“网上邻居”共享文件吧?就是那个)为例,文件相关的接口命令包括:READ/WRITE/CREATE/REMOVE/RENAME/LOOKUP/ACCESS 等等,文件夹相关的接口命令包括:MKDIR/RMDIR/READDIR 等等。

对象存储,主要操作对象是对象(Object)。存储协议是S3、Swift等。以 S3 为例,主要接口命令有 PUT/GET/DELETE 等。

对象存储如何部署(对象存储学习笔记)(3)

可以看出接口命令非常简洁,没有那种目录树的概念。在对象存储系统里,你不能直接打开/修改文件,只能像FTP那样先下载、修改,再上传文件。

对象存储如何部署(对象存储学习笔记)(4)

对象存储呈现出来的是一个“桶”(bucket),你可以往“桶”里面放“对象(Object)”。这个对象包括三个部分:Key、Data、Metadata。Key:可以理解文件名,是该对象的全局唯一标识符(UID)。Key是用于检索对象,服务器和用户不需要知道数据的物理地址,也能通过它找到对象。这种方法极大地简化了数据存储。下面这行,就是一个对象的地址范例:

对象存储如何部署(对象存储学习笔记)(5)

看上去就是一个URL网址。如果该对象被设置为“公开”,所有互联网用户都可以通过这个地址访问它。

Data:也就是用户数据本体

Metadata:Metadata叫做元数据,它是对象存储一个非常独特的概念。元数据有点类似数据的标签,标签的条目类型和数量是没有限制的,可以是对象的各种描述信息。对象存储中,元数据是独立出来的,并不在数据内部封装。元数据的好处非常明显,可以大大加快对象的排序,还有分类和查找。

对象存储如何部署(对象存储学习笔记)(6)

对象存储的架构

从对象存储的架构看得出对象存储系统可以是一个提供海量存储服务的分布式架构:

OSD对象存储设备:这是对象存储的核心,具有自己的CPU、内存、网络和磁盘系统。它除了存储数据,还会利用自己的算力,优化数据分布,并支持数据预读取,提升磁盘性能。

MDS元数据服务器:它控制Client和OSD的交互,还会管理着限额控制、目录和文件的创建与删除,以及访问控制权限。

Client客户端:提供文件系统接口,方便外部访问。

对象存储的优点:

容量无限大:对象存储的容量是EB级以上。EB有多大?个人PC硬盘大多是TB级。1EB约等于1TB的一百万倍... 对象存储的所有业务、存储节点采用分布式集群方式工作,各功能节点、集群都可独立扩容。从理论上说,某个对象存储系统或单个桶(bucket),并没有总数据容量和对象数量的限制。只要你有足够的money,服务商就可以不停地往架构里增加资源,这个存储空间就是无限的。可以按需购买。如果要调整大小,也是支持弹性伸缩的,不用做数据迁移和人工干预。

数据安全可靠:对象存储采用了分布式架构,对数据进行多设备冗余存储(至少三个以上节点),实现异地容灾和资源隔离。大多数云服务商的承诺,数据可靠性可达11个9。这意味着,1000亿个文件里,每月最多只会有1个文件发生数据丢失。这比一个人被陨石击中的概率还要小143000倍。从数据访问方面看,所有的桶和对象都有ACL等访问控制策略,所有的连接都支持SSL加密,OBS系统会对访问用户进行身份鉴权。因为数据是分片存储在不同硬盘上的,所以即使有坏人偷了硬盘,也无法还原出完整的对象数据。

使用方便:对用户来说,对象存储是很方便的存储方式。也有比喻成“代客泊车”的,只要把车扔给他,拿个存车凭证,通过凭证取车就行了。不需要知道车库布局,也不需要自己去停车。数据存取方法也灵活多样。除了前面说的可用REST-API接口、网页(基于http)直接访问之外,大部分云服务提供商都有自己的图形化界面客户端工具,用户存取数据就像用网盘一样。

对象存储如何部署(对象存储学习笔记)(7)

对象存储业务通常分为3个等级,即标准型、低频型、归档型。

标准类型:移动应用 | 大型网站 | 图片分享 | 热点音视频低频访问类型:移动设备 | 应用与企业数据备份 | 监控数据 | 网盘应用归档类型:各种长期保存的档案数据 | 医疗影像 | 影视素材

但据说,目前全球互联网70%以上的热点数据是保存在对象存储系统中的。想想也是大多数据被频繁调用的概率并不高。

对象存储也有缺点,最大的缺点,和它的工作模式有关:它是那种把整个数据取出来,修改,再放回去的模式,不支持直接在存储上修改,哪怕只是加一行数据,都不行。所以,它不适合存储需要频繁擦写的数据(例如关系型数据库的数据)。在数据的一致性保证上,对象存储也存在先天的不足。不过目前技术上已有了很大改进。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页