精华内容
下载资源
问答
  • 储存、对象存储、文件存储区别和联系 存储类型: 块存储,对象存储,文件存储 这三种存储,分别对应了不同的访问协议,这也就决定了他们的本质差别。 【块存储】 典型设备:磁盘阵列,硬盘 【文件存储...

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

     

    存储类型:

    块存储,对象存储,文件存储

    这三种存储,分别对应了不同的访问协议,这也就决定了他们的本质差别。

    【块存储】

    典型设备:磁盘阵列,硬盘

    【文件存储】

    典型设备:FTP、NFS服务器

    【对象存储】

    典型设备:内置大容量硬盘的分布式服务器

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

    通常来讲,磁盘阵列都是基于Block块的存储,而所有的NAS产品都是文件级存储。

    1. 块存储:DAS   SAN

    a) DAS(Direct Attach Storage): 是直接连接于主机服务器的一种存储方式,每台服务器有独立的存储设备,每台主机服务器的存储设备无法互通,需要跨主机存取资料室,必须经过相对复杂的设定,若主机分属不同的操作系统,则更复杂。

    应用:单一网络环境下且数据交换量不大,性能要求不高的环境,技术实现较早。

    b) SAN(Storage Area Network): 是一种高速(光纤)网络联接专业主机服务器的一种存储方式,此系统会位于主机群的后端,它使用高速I/O联接方式,如:SCSI,ESCON及Fibre-Channels.特点是,代价高、性能好。但是由于SAN系统的价格较高,且可扩展性较差,已不能满足成千上万个CPU规模的系统。

    应用:对网速要求高、对数据可靠性和安全性要求高、对数据共享的性能要求高的应用环境中。

     

    2. 文件存储

    通常NAS产品都是文件级存储。

    NAS(Network Attached Storage):是一套网络存储设备,通常直接连在网络上并提供资料存取服务,一套NAS储存设备就如同一个提供数据文件服务的系统,特点是性价比高。

    它采用NFS或CIFS命令集访问数据,以文件为传输协议,可扩展性好、价格便宜、用户易管理。目前在集群计算中应用较多的NFS文件系统,但由于NAS的协议开销高、带宽低、延迟大,不利于在高性能集群中应用。

     

    3. 对象存储:

    总体上讲,对象存储同时兼具SAN高级直接访问磁盘特点及NAS的分布式共享特点。

    核心是将数据通路(数据读或写)和控制通路(元数据)分离,并且基于对象存储设备(OSD),构建存储系统,每个对象存储设备具备一定的职能,能够自动管理其上的数据分布。

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

    3.1 对象

    一个对象实际就是文件的数据和一组属性信息的组合。

    3.2 对象存储设备(OSD)

    OSD具有一定的智能,它有自己的CPU、内存、网络和磁盘系统。

    OSD提供三个主要功能:包括数据存储和安全访问

    (1)数据存储  (2)智能分布  (3)每个对象元数据的管理

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

    MDS控制Client与OSD对象的交互,主要提供以下几个功能:

    (1) 对象存储访问

    允许Client直接访问对象,OSD接收到请求时先验证该能力,再访问。

    (2) 文件和目录访问管理

    MDS在存储系统上构建一个文件结构,限额控制、包括目录、文件的创建、访问控制等

    (3) Client Cache 一致性

    为提高性能,在对象存储系统设计时通常支持Client的Cache。因此带来了Cache一致性的问题,当Cache文件发生改变时,将通知Client刷新Cache,以防Cache不一致引发的问题。

     对象存储:

    一个文件包含了属性(术语叫matadata元数据,例如该文件的大小、修改时间、存储路径等)以及内容(简称数据)。

    以往的文件系统,存储过程将文件按文件系统的最小块来打散,再写进硬盘,过程中没有区分元数据(metadata)和数据。而在每个块最后才会告知下一个块的地址,因此只能一个一个读,速度慢。

    而对象存储则将元数据独立出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象时,会先访问元数据服务器,元数据服务器只负责反馈对象存储在那些OSD。假设反馈文件A存储在B,C,D三台OSD,那么用户就会再次访问三台OSD服务器去读取数据。

    这时三台OSD同时对外传输数据,因此传输的速度就加快了。OSD服务器数量越多,这种读写速度的提升就越大。

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

    因此对象存储的出现,很好的结合了块存储与文件存储的优点。

     

    为什么还要使用块存储和文件存储:

    1.有一类应用是需要存储直接裸盘映射的,比如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对了裸盘进行格式化,因此不能采用其他已经被格式化为某种文件系统的存储。此类更适合块存储。

    2.对象存储的成本比普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了作文件共享的时候,直接用文件存储的形式就好了,性价比高。

    对象存储、块存储、文件系统存储概念与区别

    一、概念及区别

    针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储、块存储、文件系统存储。这三者的主要区别在于它们的存储接口:

    1.  对象存储:

      也就是通常意义的键值存储,其接口就是简单的GET,PUT,DEL和其他扩展,如七牛、又拍,Swift,S3

    2. 块存储:

      这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Block Device的接口或者QEMU提供的Block Driver接口,如Sheepdog,AWS的EBS,青云的云硬盘和阿里云的盘古系统,还有Ceph的RBD(RBD是Ceph面向块存储的接口)

    3. 文件存储:

      通常意义是支持POSIX接口,它跟传统的文件系统如Ext4是一个类型的,但区别在于分布式存储提供了并行化的能力,如Ceph的CephFS(CephFS是Ceph面向文件存储的接口),但是有时候又会把GFS,HDFS这种非POSIX接口的类文件存储接口归入此类。

    二、IO特点

    按照这三种接口和其应用场景,很容易了解这三种类型的IO特点,括号里代表了它在非分布式情况下的对应:

    1. 对象存储(键值数据库):

      接口简单,一个对象我们可以看成一个文件,只能全写全读,通常以大文件为主,要求足够的IO带宽。

    2. 块存储(硬盘):

      它的IO特点与传统的硬盘是一致的,一个硬盘应该是能面向通用需求的,即能应付大文件读写,也能处理好小文件读写。但是硬盘的特点是容量大,热点明显。因此块存储主要可以应付热点问题。另外,块存储要求的延迟是最低的。

    3. 文件存储(文件系统):

      支持文件存储的接口的系统设计跟传统本地文件系统如Ext4这种的特点和难点是一致的,它比块存储具有更丰富的接口,需要考虑目录、文件属性等支持,实现一个支持并行化的文件存储应该是最困难的。但像HDFS、GFS这种自己定义标准的系统,可以通过根据实现来定义接口,会容易一点。

       因此,这三种接口分别以非分布式情况下的键值数据库、硬盘和文件系统的IO特点来对应即可。至于冷热、快慢、大小文件而言更接近于业务。但是因为存储系统是通用化实现,通常来说,需要尽量满足各种需求,而接口定义已经一定意义上就砍去了一些需求,如对象存储会以冷存储更多,大文件为主。

      三、Ceph的对象存储、块存储、文件系统存储

      Ceph同时支持这三种存储,方法就是通过支持不同的接口来支持不同的存储。下面是Ceph的基本架构图,可以看到通过兼容AWS的S3和OpenStack的Swift接口来支持对象存储,通过librbd库提供块存储的接口,通过libcephfs库的文件系统接口或标准posix接口来支持文件系统存储。

     

    参考:块存储、文件存储、对象存储这三者的本质差别是什么? - 知乎

    参考:块储存、对象存储、文件存储的区别和联系

    参考:对象存储、块存储、文件系统存储概念与区别

    参考:块储存、对象存储、文件存储

    展开全文
  • 1.区别:vuex存储在内存,localstorage(本地存储)则以文件的方式存储在本地,永久保存(不主动删除,则一直存在);sessionstorage( 会话存储 ) ,临时保存。localStorage和sessionStorage只能存储字符串类型,对于...

    1.区别:vuex存储在内存,localstorage(本地存储)则以文件的方式存储在本地,永久保存(不主动删除,则一直存在);sessionstorage( 会话存储 ) ,临时保存。localStorage和sessionStorage只能存储字符串类型,对于复杂的对象可以使用ECMAScript提供的JSON对象的stringify和parse来处理

    2.应用场景:vuex用于组件之间的传值,localstorage,sessionstorage则主要用于不同页面之间的传值。

    3.永久性:当刷新页面(这里的刷新页面指的是 --> F5刷新,属于清除内存了)时vuex存储的值会丢失,sessionstorage页面关闭后就清除掉了,localstorage不会。

    注:大家可能觉得用localstorage可以代替vuex, 对于不变的数据确实可以,但是当两个组件共用一个数据源(对象或数组)时,如果其中一个组件改变了该数据源,希望另一个组件响应该变化时,localstorage,sessionstorage无法做到,原因就是区别1。

    展开全文
  • 链式存储与顺序存储区别

    千次阅读 2019-01-14 02:53:41
    二、存储空间利用率分配 链式存储:利用率低,动态分配 顺序存储:利用率高,静态分配 三、修改内容速度 链式存储:修改速度快 顺序存储:修改速度慢 三、查询内容速度 链式存储:查询速度慢 顺序存储:查询速度快...

    一、存储地址

    链式存储:储存单位的地址不一定是连续的
    顺序存储:储存单位的地址必须是连续的

    二、存储空间利用率与分配

    链式存储:利用率低,动态分配
    顺序存储:利用率高,静态分配

    三、修改内容速度

    链式存储:修改速度快
    顺序存储:修改速度慢

    三、查询内容速度

    链式存储:查询速度慢
    顺序存储:查询速度快

    展开全文
  • 内部存储与外部存储区别

    千次阅读 2017-10-25 19:40:53
    内部存储与外部存储区别

    内部存储:

    内部存储不是内存,而是一个位于系统中很特殊的一个位置。放入内部存储中的数据一般都只能被你的应用访问到,且一个应用所创建的所有文件都在应用包名相同的目录下,即/data/data/packagename。创建于内部存储的文件,是与这个应用关联起来的。当一个应用被卸载后,内部存储中的这些数据也被删除。


    外部存储:

    最容易混淆的是外部存储,如果说pc上也要区分出外部存储和内部存储的话,那么自带的硬盘算是内部存储,U盘或者移动硬盘算是外部存储,因此我们很容易带着这样的理解去看待安卓手机,认为机身固有存储是内部存储,而扩展的T卡是外部存储。

    不是这样的。

    所有的安卓设备都有外部存储和内部存储之分。这两个名称来源于安卓的早期设备,那个时候的设备内部存储确实是固定的,而外部存储确实是可以像U盘一样移动的。但是在后来的设备中,很多中高端机器都将自己的机身存储扩展到了8G以上, 他们将存储在概念上分成了"内部internal" 和"外部external" 两部分,但其实都在手机内部 。
    所以,不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储 。

    我觉得api中在介绍Environment.getExternalStorageDirectory()方法的时候说得很清楚:
    don't be confused by the word "external" here. This directory can better be thought as media/shared storage. It is a filesystem that can hold a relatively large amount of data and that is shared across all applications (does not enforce permissions). Traditionally this is an SD card, but it may also be implemented as built-in storage in a device that is distinct from the protected internal storage and can be mounted as a filesystem on a computer.

    展开全文
  • 存储函数:设计之初的目的是只读的(但是实际并没有严格限制) 存储过程:可读可写 存储函数的读写权限这里要特殊说明一下: 创建存储函数的时候后,必须声明函数读写权限,且只能在DETERMINISTIC, NO SQL, or READS...
  • 存储与存储区别

    万次阅读 2018-03-14 15:24:30
    写入:行存储的写入是一次完成,数据的完整性因此可以确定。列存储需要把一行记录拆分成单列保存,写入次数明显比行存储多。行存储在写入上占有很大的优势数据修改:行存储是在...由于列储存的数据是同质的,这种情...
  • 对象存储、块存储、文件系统存储概念与区别 https://www.cnblogs.com/zxiner/p/7141861.html 一、概念及区别 针对不同的应用场景,选择的分布式存储方案也会不同,因此有了对象存储、块存储、文件系统存储。这三...
  • MySQL存储过程与存储函数的区别

    千次阅读 2018-01-26 11:11:51
    一.MySQL存储过程与存储函数的区别 https://www.cnblogs.com/rogge7/p/5300605.html 语法定义上的区别就不说了,说一下其他的。如果有不正确的地方,还请大家指正。 1、总述 存储函数和存储过程统称为...
  • 服务器与存储区别

    千次阅读 2020-05-11 21:49:08
    背景:服务器与存储区别 1、服务器可做存储存储不可当服务器;互联需要看接口是否支持,有的是通过交换机相连,有的是存储和服务器直接连接。 2、服务器可以安装各种操作系统,包括什么windows linux的等等,...
  • Oracle 存储过程 函数 区别
  • MySql储存过程笔记 存储过程简介 在开发过程种常常会重复使用某些sql语句,为此MySql sdsd 先创建一个表 create table user{ id int primary key auto_increment, username varchar(25) not null, password ...
  • 在oracle中,函数和存储过程是经常使用到的,他们的语法中有很多相似的地方,可是也有它们的不同之处,这段时间刚学完函数与存储过程,来给自己做一个总结: 一:存储过程:简单来说就是有名字的pl/sql块。语法结构...
  • 什么时候要用到动态存储呢?它在用的时候还要指定大小,和静态分配区别在哪呢?
  • 存储过程和存储函数的区别

    千次阅读 2018-09-09 12:46:33
    存储过程和存储函数的区别 语法区别:关键字不一样, 存储函数比存储过程多了两个return。 本质区别存储函数有返回值,而存储过程没有返回值。 如果存储过程想实现有返回值的业务,我们就必须使用out类型的参数...
  • 对于分布式存储一直有一个疑问:横向扩展(Scale Out)、弹性伸缩、敏捷业务、开箱即用,外加成本优势……,无不针对传统存储的“罩门”,从技术分析上看,分布式存储理应所向披靡,但为什么现实市场并不是这样呢?...
  • 存储过程与存储函数的区别   一、区别  存储函数和存储过程统称为存储例程 (store routine)。  存储函数的限制比较多,例如不能用临时表,只能用表变量,而存储过程的限制较少;  存储过程的实现功能要复杂...
  • oracle中的存储过程和存储函数的区别 (尊重劳动成果,转载请注明出处:https://blog.csdn.net/qq_39778516/article/details/84032796 consistencely的博客) 1.存储过程 存储过程(Stored Procedure)是在大型...
  • 数据结构中的物理结构包含有:顺序存储结构链式存储结构 存储优缺点: 顺序存储结构在未达到内存限制时,(因为是顺序存储所以查询尾部比较快)在末尾插入比较快,但是在中间插入,需要将当前插入位置的元素及...
  • 存储过程和自定义函数的区别 Difference between Procedure and User Defined Function 首先来看一下存储过程和自定义函数的概念 一、 什么是存储过程? 存储过程可以使得对...
  • 存储和列存储区别 a. 行存储的写入是一次完成,数据的完整性因此可以确定。 列存储需要把一行记录拆分成单列保存,写入次数明显比行存储多。 行存储在写入上占有很大的优势 b. 行存储是在指定位置写入一次,列...
  • MySQLORACLE 存储过程的区别

    千次阅读 2018-08-07 16:05:56
    存储过程&Function 编号 类别 ORACLE MYSQL 注释 1 创建存储过程语句不同 create or replace procedure P_ADD_FAC(  id_fac_cd IN ES_FAC_UNIT.FAC_CD%TYPE) is DROP ...
  • MySQL存储引擎的区别与比较

    万次阅读 2019-03-11 14:26:37
    存储引擎,即表类型(table_type) 用户可以根据应用的需求选择如何来存储数据、索引、是否使用事务等。选择合适的存储引擎往往能够有效的提高数据库的性能和数据的访问效率,另外一个数据库中的多个表可以使用不同...
  • 存储过程函数的区别

    万次阅读 2017-06-15 10:40:11
    存储过程函数的区别  本质上没区别,执行的本质都一样。  只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。   函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程要让sql的...
  • 事务与存储过程的区别

    千次阅读 2015-10-15 14:07:42
    事务与存储过程的概念,和他们之间的区别
  • 存储过程:为了完成特定功能的sql语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行区别:本质上没有区别 1、存储过程作为一个独立部分,函数可以作为查询语句的一个部分 2、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,041,983
精华内容 2,416,793
关键字:

储存与存储的区别