精华内容
下载资源
问答
  • 对象存储

    千次阅读 2018-09-01 22:21:45
    对象存储到底是个什么鬼 对象存储到底是个什么鬼 小小河 2016-7-23   存储圈真会玩,块存储、文件存储、混合存储,今年又火了一个对象存储。银行,公安局,各大单位一言不合就换成对象存...

    对象存储到底是个什么鬼

    对象存储到底是个什么鬼

    小小河

    2016-7-23

     

    存储圈真会玩,块存储、文件存储、混合存储,今年又火了一个对象存储。银行,公安局,各大单位一言不合就换成对象存储,有时候真怀疑IT部门的单身狗只是单纯地看上对象这两个字了。因为有很多人在问:对象存储的定义是什么?什么叫做对象存储?

    对象存储(Object Storage)的始作俑者是亚马逊2006年推出的S3Simple Storage Service),此后新老厂商一窝蜂地推出各种产品,形态各异,但都号称对象存储。亚马逊没有给出一个定义,也没有看到有业界普通接受的说法,码农也是从自己角度各说各话,夹杂着成堆的缩写名词。

    各家产品差异较大,因此从实现技术上定义对象存储比较困难。但从应用场景上理解就相当简单,它的特征如下。

    远程访问。对象存储为云计算而生,存储设备在数据中心,用户遍布世界各地,必须通过互连网访问。最好的广域网访问当然是http了,实际上S3协议就是在http的基础上定义的。传统的块存储要求与达客户端之间的延时很小(例如1 ms),因此使用线缆直连或者专用低延时网络连接,相距很近。文件存储称微放松对延时的要求,但仍要求存储设备与客户端位于同一个网段,即一个局域网之内,也不能距离太远。

    海量用户。云计算公司至少要计划支持上亿用户吧,否则也太没出息了。各个用户之间还要能够相互授权,例如小红把自己的视频授权给小军看,存储系统要保证其它用户看不到,否则会泄露隐私。传统文件存储也有多租户功能,但它支持的用户数量较少,撑死几千几万个,而且不能把一个文件的权限分享给相互独立的若干个用户。

    无限扩容。海量用户自然带来海量的数据,云计算公司自然不到傻到一次采购大量的设备,总是随着数据的增长持续扩容。多大容量是个头呢?没头,永远用不完,无限。相应地,支持的文件数量也要无限个。

    廉价。传统存储基本都采用定制硬件,而且厂商故意模糊硬件信息,黑盒子一样,比价困难。银行、电信运营商等单位的数据价值密度高,还土豪不差钱,买得起。而存到云上的数据(视频、照片等)价值密度很低,例如,视频监控数据在不出事的时候就是垃圾。没人会为存放这些数据花大价钱,也花不起。因此,对象存储想尽办法降低成本。

     

    这四个根本特征共同定义了对象存储。如果非要用一句话来概括,那么我希望是:对象存储是支持海量用户远程访问的无限容量廉价存储系统。

     

    从根本特征出发,就能推导出各种表象。

    扁平目录结构。数据中心的服务器成千上万台,可能每天都有服务器出故障,会频繁更换设备。如果采用传统的树形目录↓↓↓,一台设备损坏或者扩容时,就需要将巨型目录树中的数据重新分配均衡,实施起来很复杂。索性大幅简化,只保留二级目录结构↓↓↓:根下直接就是桶(bucket,对应Windows下的文件夹),桶中直接存放对象(object,对应Windows下的文件),桶中不能再建桶(禁止多层文件夹)。这样以来,元数据结构十分简单,移动方便。

    对象存储到底是个什么鬼
    对象存储到底是个什么鬼

    传输加密:跨越广域网,防止被窃听。

    重复数据删除:可能很多用户都上传了同一部电影,只保留一份即可,节省存储空间。

    计费信息:云计算公司费这么大劲,为的不就是挣钱吗?

    通用服务器:出货量大,竞争激烈,价格低,省成本。

    分区下电:省电费。

    支持NAS/HDFS接口:兼容老的应用软件,使用户业务更容易迁到云端;便于在云端就近做大数据分析。

    存储端加密:防止数据被盗,打消客户的安全顾虑。

     

    剥掉唬的人术语,技术其实挺简单的,你说呢?


    21

    0

    阅读(10287) 评论 (0) 收藏(1) 转载(0) 喜欢 打印举报
    已投稿到:

    转载列表:

    转载

    转载是分享博文的一种常用方式…

    展开全文
  • 对象存储(云存储)概述

    万次阅读 多人点赞 2019-03-08 17:54:09
    文章目录三种存储形态1、块存储2、文件存储3、对象存储对象存储对象存储需求对象存储含义对象存储与传统网络存储的区别扩展知识:NAS与SAN概述1、NAS(Network Attached Storage)优点局限2、SAN(Storage Area ...

    三种存储形态

    在这里插入图片描述

    三种存储形态和存储架构示意图

    1、块存储

      块存储我们简单的理解就是一块一块的硬盘,直接挂载在主机上,在主机上我们能够看到的就是一块块的硬盘以及硬盘分区。从存储架构的角度而言,块存储又分为DAS存储(Direct-Attached Storage,直连式存储)和SAN存储(Storage Area Network,存储区域网络)。

    2、文件存储

      文件存储,我们指的是在文件系统上的存储,也就是主机操作系统中的文件系统。我们知道,文件系统中有分区,有文件夹,子文件夹,形成一个自上而下的文件结构;文件系统下的文件,用户可以通过操作系统中的应用程序进行打开、修改等操作,如打开word、编辑word。从架构上来说,文件存储提供一种NAS(Network Attached Storage,网络附属存储)架构,使得主机的文件系统不仅限于本地的文件系统,还可以连接基于局域网的共享文件系统。

    3、对象存储

      对象存储是面向对象/文件的、海量的互联网存储,它也可以直接被称为“云存储”。对象尽管是文件,它是已被封装的文件(编程中的对象就有封装性的特点),也就是说,在对象存储系统里,你不能直接打开/修改文件,但可以像ftp一样上传文件,下载文件等。另外对象存储没有像文件系统那样有一个很多层级的文件结构,而是只有一个“桶”(bucket)的概念(也就是存储空间),“桶”里面全部都是对象,是一种非常扁平化的存储方式。其最大的特点就是它的对象名称就是一个域名地址,一旦对象被设置为“公开”,所有网民都可以访问到它;它的拥有者还可以通过REST API的方式访问其中的对象。因此,对象存储最主流的使用场景,就是存储网站、移动app等互联网/移动互联网应用的静态内容(视频、图片、文件、软件安装包等等)。

    对象存储

    对象存储需求

      随着互联网,Web应用创建出数百亿的小文件;人们上传海量的照片、视频、音乐,Facebook每天都新增数十亿条内容,人们每天发送数千亿封电子邮件。据IDC统计未来在10年间数据将增长44倍,到2020年全球数据将增加到35ZB,其中80%是非结构化数据,且大部分是非活跃数据。

      面对如此庞大的数据量,仅具备PB级扩展能力的块存储(SAN)和文件存储(NAS)显得有些无能为力:通常块存储(SAN)的一个LUN容量仅数TB。单个文件系统最优性能情况下支持的文件数量通常只在百万级别。人们需要一种全新的架构的存储系统,这种存储系统需要具备极高的可扩展性,能够满足人们对存储容量TB到EB规模的扩展的需求。

      2006年Amazon发布AWS, S3 服务及其使用的REST、SOAP访问接口成为对象存储的事实标准。Amazon S3成功为对象存储注入云服务基因。

    对象存储含义

      存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。总体上来讲,对象存储(Object-Based Storage, OBS)综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的分布式数据共享等优势,提供了具有高性能、高可靠性、跨平台以及安全的数据共享的存储体系结构。
      对象存储核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD)构建存储系统,每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    对象存储与传统网络存储的区别

      对象存储在很多重要方面与SAN和NAS迥然不同,对存储管理员而言最显著的区别在于对象存储没有LUNs,卷以及RAID等要素。对象数据不是存储在固定的块,而是在大小可变的“容器”里。鉴于元数据(metadata)和数据本身可通过传统数据访问方法进行访问,对象存储允许数据被直接访问。此外,支持对象级和命令级的安全策略设置。


    扩展知识:NAS与SAN概述

    1、NAS(Network Attached Storage)

      NAS(Network Attached Storage:网络附属存储)按字面简单说就是连接在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器。它以数据为中心,将存储设备与服务器彻底分离,集中管理数据,从而释放带宽、提高性能、降低总拥有成本、保护投资。其成本远远低于使用服务器存储,而效率却远远高于后者。
      它采用NFS或CIFS命令集访问数据,以文件为传输协议,通过TCP/IP实现网络化存储,可扩展性好、价格便宜、用户易管理,如目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。

    优点

      NAS产品是真正即插即用的产品。NAS设备一般支持多计算机平台,用户通过网络支持协议可进入相同的文档,因而NAS设备无需改造即可用于混合Unix/Windows NT局域网内。   
      NAS设备的物理位置同样是灵活的。它们可放置在工作组内,靠近数据中心的应用服务器,或者也可放在其他地点,通过物理链路与网络连接起来。无需应用服务器的干预,NAS设备允许用户在网络上存取数据,这样既可减小CPU的开销,也能显著改善网络的性能。

    局限

      NAS没有解决与文件服务器相关的一个关键性问题,即备份过程中的带宽消耗。与将备份数据流从LAN中转移出去的存储区域网(SAN)不同,NAS仍使用网络进行备份和恢复。NAS 的一个缺点是它将存储事务由并行SCSI连接转移到了网络上。这就是说LAN除了必须处理正常的最终用户传输流外,还必须处理包括备份操作的存储磁盘请求。
      由于存储数据通过普通数据网络传输,因此易受网络上其它流量的影响。当网络上有其它大数据流量时会严重影响系统性能;由于存储数据通过普通数据网络传输,因此容易产生数据泄漏等安全问题;
      存储只能以文件方式访问,而不能像普通文件系统一样直接访问物理数据块,因此会在某些情况下严重影响系统效率,比如大型数据库就不能使用NAS。

    2、SAN(Storage Area Network and SAN Protocols)

      存储区域网络(Storage Area Network and SAN Protocols,简写SAN,即存储区域网络及其协议)是一种高速网络或子网络,提供在计算机与存储系统之间的数据传输。存储设备是指一台或多台用以存储计算机数据的磁盘设备,通常指磁盘阵列。存储区域网络能够使用多种技术,这就使得系统间的数据备份、操作、文件转移和数据复制很容易实现重定向。

    优点

      SAN提供了一种与现有LAN连接的简易方法,并且通过同一物理通道支持广泛使用的SCSI和IP协议。SAN不受现今主流的、基于SCSI存储结构的布局限制。特别重要的是,随着存储容量的爆炸性增长,SAN允许企业独立地增加它们的存储容量。 SAN的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在那里,服务器都可直接存取所需的数据。因为采用了光纤接口,SAN还具有更高的带宽。 因为SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。SAN方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。最后一点,光纤接口提供了10公里的连接长度,这使得实现物理上分离的、不在机房的存储变得非常容易。

    局限

      成本和复杂性,特别是在光纤信道中这些缺陷尤其明显。使用光纤信道的情况下,合理的成本大约是1千兆或者两千兆大概需要五万到六万美金。从另一个角度来看,虽然新推出的基于iSCSI的SAN解决方案大约只需要两万到三万美金,但是其性能却无法和光纤信道相比较。在价格上的差别主要是由于iSCSI技术使用的是现在已经大量生产的吉比特以太网硬件,而光纤通道技术要求特定的价格昂贵的设备。

    对象存储的特性

      对象存储是一种基于对象的存储设备,具备智能、自我管理能力,通过web服务协议(如:REST、SOAP)实现对象的读写和存储资源的访问。

      对象存储系统包含两种数据描述:容器(Bucket)、对象(Object)。容器和对象都有一个全局唯一的ID。对象存储采用扁平化结构管理所有数据,用户/应用通过接入码(AccessKey)认证后,只需要根据ID就可以访问容器/对象及相关的数据(Data)、元数据(metadata)和对象属性(Attribute)。

    在这里插入图片描述

    对象存储数据组织示意图

      对象存储对外提供更抽象的对象接口,而不是SCSI或文件接口。与SAN存储以逻辑扇区为单位的较细粒度的固定IO(512B~4KB)不同,对象存储IO粒度更有弹性,支持几个字节(B)到数万亿字节(TB)范围内的任意对象大小,使得业务可根据需要灵活的分割数据。

      对象存储以对象ID为基础,扁平化的管理所有对象和桶,根据对象ID便可直接访问数据,解决了NAS复杂的目录树结构在海量数据情况下的数据查找耗时长的问题,这使得对象存储具备极强的扩展性,能够轻松实现单一名字空间内支持百亿级文件的存储。

      在重复数据删除,绿色节能等特性基础上,为了更好的满足海量数据存储和公众云服务需求,对象存储系统还包括如下一些关键特性:

    1、优秀的扩展性

      扁平化的数据结构允许对象存储容量从TB级扩展到EB级,管理数十个到百亿个存储对象,支持从数字节(Byte)到数万亿字节(TB)范围内的任意大小对象,解决了文件系统复杂的iNode的机制带来的扩展性瓶颈,并使得对象存储无需像SAN存储那样管理数量庞大的逻辑单元号(LUN)。对象存储系统通常在一个横向扩展(或网格硬件)架构上构建一个全局的命名空间,这使得对象存储非常适用在云计算环境中使用。某些对象存储系统还可支持升级、扩容过程中业务零中断。

    2、基于策略的自动化管理

      由于云环境中的数据往往是动态、快速增长的,所以基于策略的自动化将变得非常重要。对象存储支持从应用角度基于业务需求设置对象/容器的属性(元数据)策略,如数据保护级别,保留期限,合规状况,远程复制的份数等。这使得对象存储具备云的自服务特征同时,有效的降低运维管理的成本,使得客户在存储容量从TB增长到ZB时,运维管理成本不会随之飙升。

    3、多租户技术

      多租户特性可以使用同一种架构,同一套系统为不同用户和应用提供存储服务,并分别为这些用户和应用设置数据保护、数据存储策略,并确保这些数据之间相互隔离。

    扩展知识:多租户技术介绍

    多租户架构浅析

      多租户技术(英语:multi-tenancy technology)或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

      云计算可以划分为以下几个层次的服务——IaaS、PaaS和SaaS,而今天我们今天讲的多租户架构就是一种常见的 SaaS 软件架构模式。多租户技术是实现如何在多用户环境下(此处的多用户一般是面向企业用户)共用相同的系统或程序组件,并且可确保各用户间数据的隔离性。 简单讲:在一台服务器上运行单个应用实例,它为多个租户(客户)提供服务。从定义中我们可以理解:多租户是一种架构,目的是为了让多用户环境下使用同一套程序,且保证用户间数据隔离。那么重点就很浅显易懂了,多租户的重点就是同一套程序下实现多用户数据的隔离。

    对象存储结构

    Alt

    对象存储结构

      对象存储结构由 对象、对象存储设备、元数据服务器、对象存储系统的客户端 四部分组成。

    1、对象(Object)

      对象(Object)是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,每个对象是数据和数据属性集的综合体,数据属性可以根据应用的需求进行设置,包括数据分布、服务质量等。在传统的存储系统中用文件或块作为基本的存储单位,块设备要记录每个存储数据块在设备上的位置。对象维护自己的属性,从而简化了存储系统的管理任务,增加了灵活性。对象的大小可以不同,可以包含整个数据结构,如文件、数据库表项等。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

    在这里插入图片描述

    传统块存储和对象存储示意图

    在这里插入图片描述

    对象存储中对象(Object)的组成

    2、对象存储设备

      每个OSD都是一个智能设备,具有自己的存储介质、处理器、内存以及网络系统等,负责管理本地的Object,是对象存储系统的核心。OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:

    1. 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
    2. 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
    3. 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。

    在这里插入图片描述

    传统模型与OSD模型示意

    3、元数据服务器(Metadata Server,MDS)

      MDS控制Client与OSD对象的交互,为客户端提供元数据,主要是文件的逻辑视图,包括文件与目录的组织关系、每个文件所对应的OSD等。主要提供以下几个功能:

    1. 对象存储访问。MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
    2. 文件和目录访问管理。MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
    3. Client Cache一致性。为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。

    4、对象存储系统的客户端(Client)

      为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client。现有的应用对数据的访问大部分都是通过POSIX文件方式进行的,对象存储系统提供给用户的也是标准的POSIX文件访问接口。接口具有和通用文件系统相同的访问方式,同时为了提高性能,也具有对数据的Cache功能和文件的条带功能。同时,文件系统必须维护不同客户端上Cache的一致性,保证文件系统的数据一致。文件系统读访问流程:

    • 1)客户端应用发出读请求;
    • 2)文件系统向元数据服务器发送请求,获取要读取的数据所在的OSD;
    • 3)然后直接向每个OSD发送数据读取请求;
    • 4)OSD得到请求以后,判断要读取的Object,并根据此Object要求的认证方式,对客户端进行认证,如果此客户端得到授权,则将Object的数据返回给客户端;
    • 5)文件系统收到OSD返回的数据以后,读操作完成。

    对象存储应用场景

      通常,无论是虚拟主机还是独立云主机,作为个人网站都会把所有的图片都存储在空间里,这样有一下几个问题:

    1. 随着网站的运行,图片越来越多,会导致主机的空间使用越来越多;
    2. 图片的增多会导致网站页面打开速度越来越慢,因为越来越多的图片需要从服务器上下载到本地浏览器的缓存目录,这样需要越来越多的宽带,而虚拟主机或云主机通常的宽带都是限定的;
    3. 网站迁移的成本越来越大。

      如果使用了云存储,这样可以把图片存储在第三方,所有的图片都不会再消耗虚拟主机的宽带资源和磁盘资源,保证网站访问速度不受影响,迁移网站只需要迁移数据库和基本程序文件即可,基本上几十M就可以打包所有的文件,所以云存储的好处显而易见。

    • 应用场景一:

      如果您的网站有大量的图片,如果都存储在本地,需要大量的磁盘空间,虽然现在磁盘空间的价格已经很低,但是用户访问却需要大量的宽带,超过10G的图片,主机宽带10M是不够的,而10M的云主机每年的价格8000左右,随着年限的增长,云主机需要的硬件和宽带需求会越来越多,那么网站基本成本支出也会越来越搞,如果把所有的图片都存储在云存储里,每年主机成本可以降低2/3,甚至更多。

    • 应用场景二:

      视频存储的问题,可以选择把视频存储在专门的视频网站,比如优酷,腾讯视频,爱奇艺等,但是这样的问题是,所有的视频都会被视频网站加上播放前的贴片广告,这样其实非常不友好,给客户看的视频,还要先看几十秒甚至2分钟广告,这有点尴尬了,但是如果放网站上,会出现磁盘和宽带不足的情况,如果上传到云存储上,设置好伪静态和防止BT软件下载,这样就非常好了。

    • 应用场景三:
        电商、互联网金融、在线教育等行业的Web和移动应用,架构里有数据库、应用服务器、负载均衡的应用,另外还需要存储比如商品图片,互联网金融行业的用户证件照,在线交易视频等文件等,需要存储,此前的做法是搭建文件服务器,文件服务器的扩展性、并发性都有问题,这时候就需要用到对象存储。

    • 应用场景四:
        企业网盘,其后端就是对象存储。企业遍布各地的各个部门文档都在用企业网盘,分享和管理文件,企业网盘可以非常容易地分享给特定的个人,群组或部门。企业网盘是单独的市场,与个人网盘有很大区别,企业对访问权限认证的管理更细致,数据管理要求更高。

    还有很多的应用场景,此处不一一列举。

    划重点(∩_∩)



    本人程序媛一枚,因为离港澳较近,周末兼职港澳人肉代购。

    欢迎各位大佬添加本人微信,还会经常有点赞活动送价值不菲的小礼品哦。

    即使现在不需要代购,等以后有了女(男)朋友、有了宝宝就肯定会需要的喽。

    动动手指头,扫码一下,就当是对本博文的支持嘛,也是对一个平凡、勤劳、勇敢、秀外慧中等等优点的程序媛莫大的支持哈。

    在这里插入图片描述

    http://www.chinastor.com/a/jishu/OSD.html
    https://blog.csdn.net/liuaigui/article/details/17973039
    https://www.wopus.org/tools/4868.html
    http://storage.chinabyte.com/145/12496645.shtml

    展开全文
  • 前两篇介绍了对象存储的基础,包括存储类型,常用存储分类和分类方法。 SCSI,TCP/IP,FC等存储介质以及DAS\NAS\SAN等存储网络,请参考:对象存储1:传统存储类型和分类。 文件存储,块存储以及对象存储等数据存储...

    前两篇介绍了对象存储的基础,包括存储类型,常用存储分类和分类方法。

    SCSI,TCP/IP,FC等存储介质以及DAS\NAS\SAN等存储网络,请参考:对象存储1:传统存储类型和分类

    文件存储,块存储以及对象存储等数据存储格式,请参考: 对象存储2:云平台数据存储类型

     

    1.对象存储基础

    对象存储的命名,是由其存储数据的格式来的,它的数据是以对象object的形式存储。

    文件存储的数据存储单位为文件;块存储的数据存储单位为数据块;块存储的存储单位为对象。

    1.1 数据格式

    一个文件包含了两部分内容,属性和内容(即数据);属性又称元数据metadata,是指数据的属性内容,比如文件大小、创建时间、修改时间、存储路径等。

    像FAT32文件系统,是直接将一份文件的数据与metadata一起存储的。存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假如文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据/metadata的。每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。所以无论系统性能多么强,都只能按顺序一个块一个块的读取,只有读完前一个块,才能开始读取下一个块。读写效率就成了最大的瓶颈。

    块存储与对象存储
    块存储与对象存储
    传统数据访问层次、虚拟数据访问模型

     

     

    1.2 对象存储原理

    对象存储将元数据独立了出来,元数据里写明了数据的所有属性,包括打散后的每个块所存储的位置。对象存储将元数据和数据进行了分开存储,这样只要读取到了元数据,就能找到所有的数据块,并可以同时对数据块进行读取,大大提高了数据处理的效率。

    对象存储中用来存储元数据的节点是控制节点,称为元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息);负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。

    另一方面,对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。

    1.3 对象

    对象是系统中数据存储的基本单位,一个对象实际上就是文件的数据和一组属性信息(Meta Data)的组合,这些属性信息可以定义基于文件的RAID参数、数据分布和服务质量等,而传统的存储系统中用文件或块作为基本的存储单位,在块存储系统中还需要始终追踪系统中每个块的属性,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识OSD命令访问该对象。通常有多种类型的对象,存储设备上的根对象标识存储设备和该设备的各种属性,组对象是存储设备上共享资源管理策略的对象集合等。

    什么是对象存储?OSD架构及原理
    对象的构成

     

    2.对象存储的结构

    根据对象存储原理所讲的,核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(Object-based Storage Device,OSD)构建存储系统。每个对象存储设备具有一定的智能,能够自动管理其上的数据分布。对象存储的结构包括元数据服务器(控制节点MDS)和数据存储服务器(OSD),两者进行数据的存储,还需要客服端client进行存储的服务访问和使用。架构如下图:

    对象存储架构图

     

    2.1 对象存储设备OSD

    对象存储设备是对象存储的核心设备,具有一定的智能,它有自己的CPU、内存、网络和磁盘系统,OSD同块设备的不同不在于存储介质,而在于两者提供的访问接口。OSD的主要功能包括数据存储和安全访问。目前国际上通常采用刀片式结构实现对象存储设备。OSD提供三个主要功能:
    (1) 数据存储。OSD管理对象数据,并将它们放置在标准的磁盘系统上,OSD不提供块接口访问方式,Client请求数据时用对象ID、偏移进行数据读写。
    (2) 智能分布。OSD用其自身的CPU和内存优化数据分布,并支持数据的预取。由于OSD可以智能地支持对象的预取,从而可以优化磁盘的性能。
    (3) 每个对象元数据的管理。OSD管理存储在其上对象的元数据,该元数据与传统的inode元数据相似,通常包括对象的数据块和对象的长度。而在传统的NAS系统中,这些元数据是由文件服务器维护的,对象存储架构将系统中主要的元数据管理工作由OSD来完成,降低了Client的开销。


    2.2 元数据服务器(Metadata Server,MDS)

    MDS控制Client与OSD对象的交互,主要提供以下几个功能:
    (1) 对象存储访问。
    MDS构造、管理描述每个文件分布的视图,允许Client直接访问对象。MDS为Client提供访问该文件所含对象的能力,OSD在接收到每个请求时将先验证该能力,然后才可以访问。
    (2) 文件和目录访问管理。
    MDS在存储系统上构建一个文件结构,包括限额控制、目录和文件的创建和删除、访问控制等。
    (3) Client Cache一致性。
    为了提高Client性能,在对象存储系统设计时通常支持Client方的Cache。由于引入Client方的Cache,带来了Cache一致性问题,MDS支持基于Client的文件Cache,当Cache的文件发生改变时,将通知Client刷新Cache,从而防止Cache不一致引发的问题。

    2.3 对象存储系统的客户端Client

    为了有效支持Client支持访问OSD上的对象,需要在计算节点实现对象存储系统的Client,通常提供POSIX文件系统接口,允许应用程序像执行标准的文件系统操作一样。
     

    3. 对象存储文件系统的关键技术:

    3.1 分布元数据

    传统的存储结构元数据服务器通常提供两个主要功能。

    (1)为计算结点提供一个存储数据的逻辑视图(Virtual File System,VFS层),文件名列表及目录结构。

    (2)组织物理存储介质的数据分布(inode层)。对象存储结构将存储数据的逻辑视图与物理视图分开,并将负载分布,避免元数据服务器引起的瓶颈(如NAS系统)。元数据的VFS部分通常是元数据服务器的10%的负载,剩下的90%工作(inode部分)是在存储介质块的数据物理分布上完成的。在对象存储结构,inode工作分布到每个智能化的OSD,每个OSD负责管理数据分布和检索,这样90%的元数据管理工作分布到智能的存储设备,从而提高了系统元数据管理的性能。另外,分布的元数据管理,在增加更多的OSD到系统中时,可以同时增加元数据的性能和系统存储容量。

    3.2 并发数据访问

    对象存储体系结构定义了一个新的、更加智能化的磁盘接口OSD。OSD是与网络连接的设备,它自身包含存储介质,如磁盘或磁带,并具有足够的智能可以管理本地存储的数据。计算结点直接与OSD通信,访问它存储的数据,由于OSD具有智能,因此不需要文件服务器的介入。如果将文件系统的数据分布在多个OSD上,则聚合I/O速率和数据吞吐率将线性增长,对绝大多数Linux集群应用来说,持续的I/O聚合带宽和吞吐率对较多数目的计算结点是非常重要的。对象存储结构提供的性能是目前其它存储结构难以达到的,如ActiveScale对象存储文件系统的带宽可以达到10GB/s。
     

     

     

     

    3.对象存储常用场景

     

     

    展开全文
  • 阿里云对象存储OSS计费模式分为按量计费和包年包月,对象存储OSS的计费项有很多,不仅包括存储费用,还包括流量费用、请求费用、据处理费、标签费用及传输加速费用,新手站长网来详细说下阿里云对象存储OSS不同计费...

    阿里云对象存储OSS多少钱?如何收费?阿里云对象存储OSS计费模式分为按量计费和包年包月,对象存储OSS的计费项有很多,不仅包括存储费用,还包括流量费用、请求费用、据处理费、标签费用及传输加速费用,新手站长网来详细说下阿里云对象存储OSS不同计费模式下存储价格、流量价格等费用:

    阿里云对象存储OSS计费模式详解

    阿里云对象存储OSS计费模式分为包年包月和按量付费两种,按量付费是指用户开通OSS后,根据实际使用量按每小时产生费用;包年包月是指用户通过先购买资源包,OSS会在每个计费周期,将产生的使用量使用资源包来丢。

    新手站长网以包年包月购买资源包的方式为例,来举例说明阿里云对象存储OSS的价格,40GB标准存储包半年5元,一年9元;100GB一年99元。大家可以直接移步OSS资源包购买页面查看详细的资源包价格:OSS对象存储资源包收费 - 阿里云

    下表为新手站长网分享对象存储OSS按量计费模式下的计费标准:

    资费项 计费项 标准型单价 低频访问型单价 归档型单价
    存储费用 数据存储(本地冗余存储) 0.12元/GB/月 0.08元/GB/月 0.033/GB/月
    数据存储(同城冗余存储) 0.15元/GB/月 0.10元/GB/月 不涉及
    流量费用 内/外网流入流量(数据上传到OSS) 免费 免费 免费
    内网流出流量(通过同地域ECS使用内网Endpoint,下载OSS的数据) 免费 免费 免费
    外网流出流量 00:00-08:00(闲时):0.25元/GB
    8:00-24:00(忙时):0.50元/GB
    00:00-08:00(闲时):0.25元/GB
    8:00-24:00(忙时):0.50元/GB
    00:00-08:00(闲时):0.25元/GB
    8:00-24:00(忙时):0.50元/GB
    CDN回源流出流量 0.15元/GB 0.15元/GB 0.15元/GB
    跨区域复制流量 0.50元/GB 0.50元/GB 0.50元/GB
    请求费用 所有请求类型 0.01元/万次 0.1元/万次 0.1元/万次
    数据处理费用 图片处理 每月0-10TB:免费
    >10TB:0.025元/GB
    每月0-10TB:免费
    >10TB:0.025元/GB
    每月0-10TB:免费
    >10TB:0.025元/GB
    视频截帧 0.1元/千张 0.1元/千张 0.1元/千张
    Select扫描 0.0122元/GB 0.0122元/GB 0.05元/GB
    数据取回 免费 0.0325元/GB 0.06元/GB
    对象标签费用 对象标签 0.0567/10000个/月 0.0567/10000个/月 0.0567/10000个/月
    传输加速费用 从中国大陆以外地区,访问中国大陆的OSS上传加速(AccO2MIn) 1.25元/GB 1.25元/GB 1.25元/GB
    从中国大陆以外地区,访问中国大陆的OSS下载加速(AccO2MOut) 1.25元/GB 1.25元/GB 1.25元/GB
    从中国大陆地区,访问中国大陆的OSS上传加速(AccM2MIn) 0.50元/GB 0.50元/GB 0.50元/GB
    从中国大陆地区,访问中国大陆的OSS下载加速(AccM2MOut) 0.50元/GB 0.50元/GB 0.50元/GB

    阿里云对象存储OSS计费项目费用组成

    上面关于对象存储OSS的价格表是指存储价格,而阿里云对象存储OSS费用项包括存储费用、流量费用、请求费用、数据处理费用、对象标签费用、传输加速费用,如下图:

    • 存储费用:包括标准存储、低频访问和归档存储,详细参考OSS存储费用
    • 流量费用:包括外网流出流量、CDN回源流出流量和跨区域复制流量,详细参考OSS流量费用
    • 请求费用:每小时调用OSS API请求次数,详细参考OSS请求费用
    • 数据处理费用:图片处理、视频截帧、Select扫描和数据取回,详细参考OSS数据处理费用
    • 对象标签费用:按每小时存储空间内对象标签个数计算,详细参考OSS对象标签费用
    • 传输加速费用:通过传输加速域名访问OSS产生的流量,详细参考OSS传输加速费用

    关于阿里云对象存储OSS详细收费标准,可以参考OSS官方详解:对象存储OSS费用价格组成 - 阿里云

    展开全文
  • 计算机存储的发展(块存储,文件存储,对象存储

    万次阅读 多人点赞 2018-09-15 15:04:08
    对象存储 1、对象 2、对象存储设备 3、元数据服务器(Metadata Server,MDS) 4、对象存储系统的客户端Client 三者之间异同比较 参考文献 如果要实现一个计算机,那么这个计算机一定要有以下的三个部分构成:...
  • 对象存储简介

    千次阅读 多人点赞 2020-06-20 14:13:31
    对象存储简介 一 导读 计算机系统是图灵机的高效实现,即根据输入数据的规则得到输出数据。现在的计算机系统由CPU、内存、总线、外设(如网络设备、存储设备)等组成,其中,存储是非常重要的一部分。 近年来,...
  • 对象存储与块存储

    千次阅读 2018-11-05 00:44:35
    什么是块存储 数据被存储在固定大小的块内。块内只存储数据本身;Address就是块唯一的识别信息;对于块存储,没有metadata....当应用和数据在地理位置...什么是对象存储 每个对象包括3个部分: 数据本身 可定制化...
  • 对象存储定义

    千次阅读 2017-04-13 01:19:13
    什么是对象存储对象存储定义如下: 对象存储是采用扁平数据组织形式并通过基于http协议的RESTful接口访问的分布式存储系统 对象存储不支持随机读写操作,只能全读全写,其面向的是一次写入,多次读取的非...
  • COS对象存储

    千次阅读 2018-11-28 20:19:21
    1、为什么需要对象存储 随着移动互联网的快速发展,数据量出现了井喷式的增长,数据的类型也越来越丰富。 在这样的状况下,传统存储已经体现出了一些弊端: 原来的传统存储在容量上已经不能满足存储的需求。 数据...
  • 块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)简称OSD。  首先,...
  • AWS S3(对象存储)基本操作

    万次阅读 热门讨论 2018-06-14 20:28:43
    1 AWS S3对象存储 1.1 基本概念 1.1.1 存储桶(bucket) 1.1.2 对象 1.1.3 对象标签(tag) 1.2 S3存储类型 2 使用 2.1 安装AWS SDK 2.2 编写基础配置文件 3 基础功能 3.1 桶操作 3.1.1 创建桶 3.1.2 桶的生命周期...
  • swift对象存储

    万次阅读 2016-05-23 12:18:50
    swift对象存储简介OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性。对象存储,用于永久类型的静态数据的长期存储。 Swift 最初是由 ...
  • oss对象存储

    千次阅读 2016-11-13 13:01:11
    含义:对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全和高可靠的云存储服务。RESTful API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费真正使您专注于核心业务。 对象存储 ...
  • 对象存储OSS

    千次阅读 2016-11-22 09:53:08
    对象存储OSS  对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全和高可靠的云存储服务。RESTful API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费真正使您专注于核心业务。 ...
  • 存储分类及对象存储osd的技术原理

    万次阅读 2018-11-07 11:23:24
    存储局域网(SAN)和网络附加存储(NAS)是我们比较熟悉的两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备(Object-based Storage Device)...
  • 使用ceph的对象存储

    万次阅读 2018-06-01 01:26:50
    Ceph 对象存储 Ceph 对象存储使用 Ceph 对象网关守护进程( radosgw ),它是个与 Ceph 存储集群交互的 FastCGI 模块。因为它提供了与 OpenStack Swift 和 Amazon S3 兼容的接口, RADOS 要有它自己的用户管理。 ...
  • 对象存储、块存储、文件系统存储概念与区别 https://www.cnblogs.com/zxiner/p/7141861.html 一、概念及区别 针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储、块存储、文件系统存储。这三...
  • 对象存储系统概念

    千次阅读 2017-10-20 22:43:06
    对象存储系统概念
  • https://blog.csdn.net/enweitech/article/details/51445087 块存储和文件存储是我们比较熟悉的两种主流的存储类型,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象...
  • 对象存储(Object-based Storage)概述

    万次阅读 2018-08-13 16:53:26
    对象存储概述 什么是对象存储(OSD)? 存储局域网(SAN)和网络附加存储(NAS)是目前两种主流网络存储架构,而对象存储(Object-based Storage)是一种新的网络存储架构,基于对象存储技术的设备就是对象存储设备...
  • 理解块存储、文件存储和对象存储的应用场景和选择# 应用场景(王豪迈(麦子迈|wheats))#  分布式存储的应用场景相对于其存储接口,现在流行分为三种: 对象存储: 也就是通常意义的键值存储,其接口就是简单...
  • Java对象存储位置

    千次阅读 2017-11-16 14:09:07
    Java对象存储位置 堆栈和堆
  • 对象存储OSS服务

    万次阅读 2018-07-27 08:13:58
    阿里云对象存储服务(Object Storage Service,简称OSS)为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据文件...
  • 文件存储 设备:FTP、NFS服务器 特点:一个大文件夹,大家都可以获取文件 优点:可以共享 ...对象存储 设备:swift,键值存储 特点:具备块存储的高速以及文件存储的共享等特性 优点:速率快,共享方
  • 5. OpenStack对象存储使用教程 我们希望人们使用Openstack来解决实际问题,越来越大的web内容大小和密度就是对象存储一个非常好的用户用例。这个教程展示给你的是如何为实际的目的使用OpenStack对象存储。假设...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 169,917
精华内容 67,966
关键字:

对象存储