0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

对象存储为什么那么火?

454398 2023-02-01 11:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

上期文章,小枣君给大家详细介绍了数据存储技术的基本知识,其中重点对 DAS、SAN 和 NAS 技术进行了对比分析。

我们知道,在很长的一段时间里,这三种架构几乎统治了数据存储市场。所有行业用户的数据存储需求,都是在这三者中进行选择。

然而,随着时代的发展,一种新的数据存储形态诞生,开始挑战前面三者的垄断地位。

没错,它就是云计算时代存储技术的新网红——对象存储。

哈哈,也许搞着搞着,对象就有了呢!

对象存储,也称为“面向对象的存储”,英文是 Object-based Storage。现在很多云厂商,也直接称之为“云存储”。

不同的云厂商对它有不同的英文缩写命名。例如阿里云把自家的对象存储服务叫做 OSS,华为云叫 OBS,腾讯云叫 COS,七牛叫 Kodo,百度叫 BOS,网易叫 NOS……五花八门,反正都是一个技术。

之前小枣君介绍过,DAS 和 SAN 是基于物理块的存储方式,而 NAS 是基于文件的存储方式。

在 DAS 和 SAN 中,存储资源就像一块一块的硬盘,直接挂载在主机上,我们称之为块存储。

而在 NAS 中,呈现出来的是一个基于文件系统的目录架构,有目录、子目录、孙目录、文件,我们称之为文件存储。

文件存储的最大特点,就是所有存储资源都是多级路径方式进行访问的。例如:

C:/Program Files (x86)/Tencent/WeChat/WeChat.exe

//NJUST-Server/ 学习资料 / 通信原理 / 第一章作业 .doc

20 世纪末,随着互联网的爆发,数据存储需求发生了两个重大的变化。

第一,就是数据量爆炸式增长。

原因我就不用说了吧?大家可以瞅瞅自己的硬盘,都藏了些什么。

Web 应用的崛起、社交需求的刺激,极大地推动了多媒体内容的创作和分享。人们开始上传大量的照片、音乐、视频,加剧了数据量的爆发。

此外,信息技术的发展、企业数字化的落地,也产生了大量的数据,不断吞食着存储资源。

第二,是非结构化数据的占比显著增加。

什么是非结构化数据?

举个例子大家就明白了。我们经常做的 excel 表格,姓名、身高、体重、年龄、性别,这种用二维表结构可以进行逻辑表达的数据,就是结构化数据。

结构化数据

而图像、音频、视频、word 文章、演示胶片这样的数据,就是非结构化数据。

根据此前的预测,到 2020 年(也就是今年),全球数据总量的 80%,将是非结构化数据。

面对这两大趋势,因为本身技术和架构的限制,DAS、SAN 和 NAS 无法进行有效应对。

于是,专家们就搞出了对象存储。

虽然我们说对象存储是新网红,但实际上它诞生的时间并不算短。早在 1996 年,美国卡内基梅隆大学就将对象存储作为一个研究项目提出来。随后,加州大学伯克利分校也有推出类似的项目。

2002 年,Filepool 公司推出了基于内容可寻址技术的 Centera 系统,算是比较早期的对象存储系统。

2006 年,美国 Amazon 公司发布AWS S3(Simple Storage Service)服务,正式将对象存储作为一项云存储服务,引入云计算领域,从此开启了对象存储的黄金时代。

S3 几乎成为对象存储的事实标准

各厂家基本上都会兼容 S3

▉ 对象存储和块存储、文件存储的区别

说了半天,对象存储到底是一个什么样的技术?它和块存储、文件存储有什么区别?

首先,第一点,千万不要去看百度百科上面“对象存储”的定义,否则,你可能会怀疑人生。

想要了解对象存储,最简单直接的办法,就是从实际使用体验上进行对比。

对象存储的底层硬件介质,依然是硬盘,和块存储、文件存储没有区别。

而对象存储架构在底层硬件之上的系统,和两者完全不同。(下文会详细介绍系统架构)

不同的软件,带来了完全不同的使用体验:

块存储,操作对象是磁盘。存储协议是 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 等。

看出来了吧?接口命令非常简洁,没有那种目录树的概念。

在对象存储系统里,你不能直接打开 / 修改文件,只能先下载、修改,再上传文件。(如果大家用过百度网盘或 ftp 服务,一定可以秒懂。)

▉ 对象存储中的数据组成

对象存储呈现出来的是一个“桶”(bucket),你可以往“桶”里面放“对象(Object)”。这个对象包括三个部分:Key、Data、Metadata。

Key

可以理解文件名,是该对象的全局唯一标识符(UID)。

Key 是用于检索对象,服务器和用户不需要知道数据的物理地址,也能通过它找到对象。这种方法极大地简化了数据存储。

下面这行,就是一个对象的地址范例:

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

Data

也就是用户数据本体。这个不用解释了。

Metadata

Metadata 叫做元数据,它是对象存储一个非常独特的概念。

元数据有点类似数据的标签,标签的条目类型和数量是没有限制的,可以是对象的各种描述信息。

举个例子,如果对象是一张人物照片,那么元数据可以是姓名、性别、国籍、年龄、拍摄地点、拍摄时间等。

元数据可以有很多

在传统的文件存储里,这类信息属于文件本身,和文件一起封装存储。而对象存储中,元数据是独立出来的,并不在数据内部封装。

元数据的好处非常明显,可以大大加快对象的排序,还有分类和查找。

▉ 对象存储的架构

OSD 对象存储设备

这是对象存储的核心,具有自己的 CPU、内存、网络和磁盘系统。它的主要功能当然是存储数据。同时,它还会利用自己的算力,优化数据分布,并且支持数据预读取,提升磁盘性能。

MDS 元数据服务器

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

Client 客户端

提供文件系统接口,方便外部访问。

根据上面的架构可以看出,对象存储系统可以是一个提供海量存储服务的分布式架构。

▉ 对象存储的优点

对象存储的优点很多,简单归纳如下:

容量无限大

对象存储的容量是 EB 级以上。EB 有多大?大家的硬盘普遍是 TB 级别。1EB 约等于 1TB 的一百万倍,请自行脑补 ...

对象存储的所有业务、存储节点采用分布式集群方式工作,各功能节点、集群都可以独立扩容。从理论上来说,某个对象存储系统或单个桶(bucket),并没有总数据容量和对象数量的限制。

换句话说,只要你有足够的 money,服务商就可以不停地往架构里增加资源,这个存储空间就是无限的。

你可以根据自身需求购买相应大小的对象存储空间。如果需要调整大小,也是支持弹性伸缩的,你不要进行数据迁移和人工干预。

数据安全可靠

对象存储采用了分布式架构,对数据进行多设备冗余存储(至少三个以上节点),实现异地容灾和资源隔离。

根据云服务商的承诺,数据可靠性至少可以达到 99.999999999%(不用数了,一共 11 个 9)。这意味着,1000 亿个文件里,每月最多只会有 1 个文件发生数据丢失。这比一个人被陨石击中的概率还要小 143000 倍。

数据访问方面,所有的桶和对象都有 ACL 等访问控制策略,所有的连接都支持 SSL 加密,OBS 系统会对访问用户进行身份鉴权。因为数据是分片存储在不同硬盘上的,所以即使有坏人偷了硬盘,也无法还原出完整的对象数据。

使用方便

对于用户来说,对象存储是一个非常方便的存储方式。

很多人把它比喻为“代客泊车”,你只需要把车扔给他,他给你一个凭证,你通过凭证取车就可以了。你不需要知道车库的布局,也不需要自己去费力停放。

数据的存取方法也非常灵活多样。除了前面说的可以使用网页(基于 http)直接访问之外,大部分云服务提供商都有自己的图形化界面客户端工具,用户存取数据就像用网盘一样。

腾讯云的对象存储工具界面

事实上,大部分的对象存储需求,并不是个人用户买来当网盘用,而且企业或政府用户用于系统数据存储。例如网站、App 的静态图片、音频、视频,还有企业系统的归档数据等。

像这种数据,是通过程序内部的接口调用的。对象存储提供开放的 REST API 接口。程序员在开发应用时,直接把存储参数写进代码,就可以通过 API 接口调用对象存储里的数据。相比文件存储那一串串的路径,对象存储要方便很多。

▉ 对象存储的应用场景

目前国内有大量的云服务提供商,他们把对象存储当作云存储在卖。

他们通常会把存储业务分为 3 个等级,即标准型、低频型、归档型。对应的应用场景如下:

标准类型:移动应用 | 大型网站 | 图片分享 | 热点音视频

低频访问类型:移动设备 | 应用与企业数据备份 | 监控数据 | 网盘应用

归档类型:各种长期保存的档案数据 | 医疗影像 | 影视素材

根据估算,目前全球互联网 70%以上的热点数据是保存在对象存储系统中的。

对象存储虽然看上去很好很强大,但也不是没有缺点。它最大的缺点,和它的工作模式有关。

它是那种把整个数据取出来,修改,再放回去的模式,不支持直接在存储上修改,哪怕只是加一行数据,都不行。所以,它不适合存储需要频繁擦写的数据(例如关系型数据库的数据)。

在数据的一致性保证上,对象存储也存在先天的不足。不过,据说目前技术上已经有了很大改进。

好啦,以上就是关于对象存储的全部内容。感谢大家的耐心观看,如果觉得有所收获,请记得帮小枣君点赞、转发!我们下期再见!

审核编辑黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    7314

    浏览量

    93981
  • 存储
    +关注

    关注

    13

    文章

    4693

    浏览量

    89569
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    工品静电敏感度测试及静电防护

    工品静电敏感度测试主要依据GJB736.11A-2019《工品试验方法第11部分:电工品静电感度试验》。以下是该标准的详细要求:•试验原理:采用电容放电模型模拟人体静电危害,通过特定的电容器容量、放电电阻和测试电压等参数
    的头像 发表于 10-22 16:31 452次阅读
    电<b class='flag-5'>火</b>工品静电敏感度测试及静电防护

    瑞芯微这几年为啥那么

    大做强,离不开瑞芯微那段艰辛历程,瑞芯微最初是做复读机、MP3主控起家的,经过几次重大转变,才逐渐走到大家今天看到的瑞芯微。 话又说回来,瑞芯微这几年为啥那么? 最重要的原因还是瑞芯微(CPU)产品
    发表于 10-20 15:50

    NetApp助力对象存储现代化,提升速度、可扩展性和安全性

    智能数据基础设施公司NetApp® (NASDAQ: NTAP) 今天宣布推出NetApp StorageGRID® 12.0,这是一款可扩展的软件定义对象存储解决方案,专为非结构化数据而设
    的头像 发表于 09-11 10:41 320次阅读

    canopen如何通过对象字典控制外设?

    各位大佬好,我在移植canopen的时候碰到一个疑问。比如我修改对象字典2000,子索引为0这个目录下的值,如何这个对象映射的是某个led灯的亮灭,输入1为亮,0为灭。 问题就是我发送报文之后会进入
    发表于 09-11 06:04

    渝林智造 | 守护林海!地表探测器如何改写森林防火规则?

    渝林智造 | 守护林海!地表探测器如何改写森林防火规则?
    的头像 发表于 07-17 17:45 819次阅读
    渝林智造 | 守护林海!地表<b class='flag-5'>火</b>探测器如何改写森林防火规则?

    秒杀传统存储!亿万克DM3000分布式存储:EB级扩容+协议瞬通

    扩展 ,全能存储 容量和性能可按需扩展,可横向扩展至EB容量,硬件无锁定,一套存储系统同时支持块、文件、对象、大数据存储服务,各项存储服务数
    的头像 发表于 03-20 09:13 694次阅读
    秒杀传统<b class='flag-5'>存储</b>!亿万克DM3000分布式<b class='flag-5'>存储</b>:EB级扩容+协议瞬通

    一夜爆的DeepSeek一体机,如何改写AI游戏规则?

    DeepSeek一体机,都不好意思说自己懂AI。” 所谓一体机,通常汇集了中央处理器(CPU)、图形处理器(GPU)、存储器、操作系统、AI 软件平台以及各类模型算法,是一个软硬件组件。 那么这样的一款设备,凭什么能出圈? 0
    的头像 发表于 03-11 15:52 1006次阅读
    一夜爆<b class='flag-5'>火</b>的DeepSeek一体机,如何改写AI游戏规则?

    如何使用OpenVINO™运行对象检测模型?

    无法确定如何使用OpenVINO™运行对象检测模型
    发表于 03-06 07:20

    RTOS中的本地存储指针使用

    本地存储指针是RTOS中的一个重要特性,增强了任务管理和数据处理能力。在RTOS上下文中,本地存储是指存储在本地的特定任务或对象的数据。通常与任务本地
    的头像 发表于 02-28 16:33 1170次阅读
    RTOS中的本地<b class='flag-5'>存储</b>指针使用

    分布式存储有哪几种类型?

    分布式存储有哪几种类型?分布式存储系统是一种将数据分散存储在多台独立节点上的技术,根据数据模型可分为键值存储、列式存储、文档
    的头像 发表于 02-20 11:00 1125次阅读

    对象存储是什么结构类型?

    对象存储属于非结构化数据存储架构,采用扁平化命名空间结构。其核心通过唯一标识符(ObjectID)定位数据对象,突破传统文件系统的层级目录限制,形成"桶-
    的头像 发表于 02-10 11:14 691次阅读

    弹性云服务器通过什么存储数据和文件?

    弹性云服务器通过多种存储方式存储数据和文件,包括云硬盘、对象存储服务、分布式文件系统和数据库服务。云硬盘提供高性能的块存储,适用于需要频繁读
    的头像 发表于 01-13 09:50 710次阅读

    2024存储市场:AI驱动与企业级存储热消费,电子复苏缓

    2024年,存储市场经历了一场复杂多变的“冰与”交织的变革。一方面,AI应用的蓬勃发展推动了高性能存储产品如HBM、QLC SSD的需求激增;另一方面,消费电子市场复苏缓慢,导致消费类存储
    的头像 发表于 01-07 16:12 1028次阅读

    IBM Storage - 支持AI应用场景的数据存储软硬件解决方案

    为了解决数据和工作负载在各地分散的现状,需要实现对存储在分布式文件和对象存储系统中的大量非结构化数据的高速访问。IBM Storage利用人工智能(AI)、机器学习(ML)和高级分析手段,对数据
    的头像 发表于 12-30 15:00 859次阅读
    IBM Storage - 支持AI应用场景的数据<b class='flag-5'>存储</b>软硬件解决方案

    HarmonyOS Next 应用元服务开发-分布式数据对象迁移数据权限与基础数据

    提供了async版本供该场景使用。 当前,wantParams中“sessionId”字段在迁移流程中被系统占用,建议开发者在wantParams中定义其他key值存储该分布式数据对象生成的id,避免
    发表于 12-24 09:40