㈠ 计算机中数据存储的基本单位有哪些
常用的单位还有KB,MB,GB,TB
1TB=1024GB, 1GB=1024MB, 1MB=1024KB, 1KB=1024B
㈡ 对象存储系统的与传统存储的比较
有大量的基于块和基于文件的存储系统可供选择,一个明显的问题是,我们为什么需要另外一种存储技术呢?块和文件都是成熟且经过验证的,所以也许看起来好像他们可以增强以满足日益增长的分布式云计算生态系统的需求。
基于块的存储系统,磁盘块通过底层存储协议访问,像SCSI命令,开销很小而且没有其它额外的抽象层。这是访问磁盘数据最快的方式,所有高级别的任务,像多用户访问、共享、锁定和安全通常由操作系统负责。换句话讲,基于块的存储关心所有底层的问题,但其它事情都要依靠高层的应用程序实现。所有的对象存储拥有基于块存储的节点,利用对象存储软件集合提供所有其它的功能。
基于块的存储系统是对象存储系统的补充,而基于文件的存储系统一般被认为是直接的竞争者。横向扩展的NAS系统的关键属性就是扩展性,对象存储也是这样,通过增加节点实现水平扩展。但由于NAS系统是基于分层文件结构的有限的命名空间,它们对于有着接近无限扩展能力的、具有扁平结构的纯对象存储来讲,所受的约束更多,对象存储仅受到对象ID的位数限制。尽管限制多多,但横向扩展的NAS系统仍然具备对象存储的诸多特性,而其欠缺的功能,像对于表征状态转移(REST)协议的支持,厂商们正在快速的完善中,这样他们就可以把横向扩展的NAS系统划归到对象存储的类别中了。
㈢ 手机如何设置存储SD卡优先
1.打开手机设置,选择“高级设置”;
(3)数据存储位置可作为SLA扩展阅读:
相机SD卡的保养常识:
1、如SD卡在相机正常使用后,在电脑上查看所拍照片。需翻转所查看的照片的时候,先把照片复制到电脑上再进行操作,若直接在卡里面修改后,再次把卡放在相机里查看相关图片,会出现无法查看该照片的情况,大量的图片被修改后有可能会使SD卡“瘫痪”,要格式化后才能再正常使用。
2、SD卡在相机里面拍摄过程中如出现卡机、死机的情况,可能是该SD卡有故障的情况或寿命已到,请用读卡器把卡里面的内容导出来保存再进行格式化(如果是要坏的卡读取、复制的时候会慢很多)。格式化完后有的能正常使用,可以用一些修复软件,它会把坏的地方分为单独的一个分区,然后再隐藏。但建议别再存放重要的数据使用,因为其他的地方也可能饱经风霜,马上就要故障了。
3、如果使用的时候不小心把SD卡折坏掉或摔坏不能用时,别急着把那“报废”的卡扔掉,小心地拆开SD卡表面时,你就会看到里面还“藏”着一个小小的TF卡,可供大部分的手机使用,也可以配个SD卡的TF转接卡口继续使用。
网络-SD卡
㈣ 数据存储方式
数据存储方式有以下几种:
(1)顺序存储方法。该方法把逻辑上相邻的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。由此得到的存储表示称为顺序存储结构 (Sequential Storage Structure ),通常借助程序语言的数组描述。该方法主要应用于线性的数据结构。非线性的数据结构也可通过某种线性化的方法实现顺序存储。
(2)链接存储方法。该方法不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系由附加的指针字段表示。由此得到的存储表示称为链式存储结构(Linked Storage Structure), 通常借助于程序语言的指针类型描述。
(3)索引存储方法。该方法通常在储存结点信息的同时,还建立附加的索引表。 索引表由若干索引项组成。若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(Dense Index )。
(4)散列存储方法,该方法的基本思想是根据结点的关键字直接计算出该结点的存储地址。
㈤ android 数据存储的几种方式
总体的来讲,数据存储方式有三种:一个是文件,一个是数据库,另一个则是网络。其中文件和数据库可能用的稍多一些,文件用起来较为方便,程序可以自己定义格式;数据库用起稍烦锁一些,但它有它的优点,比如在海量数据时性能优越,有查询功能,可以加密,可以加锁,可以跨应用,跨平台等等;网络,则用于比较重要的事情,比如科研,勘探,航空等实时采集到的数据需要马上通过网络传输到数据处理中心进行存储并进行处理。 对于Android平台来讲,它的存储方式也不外乎这几种,按方式总体来分,也是文件,数据库和网络。但从开发者的角度来讲它可以分为以下五种方式: 1.SharedPreferences共享偏好 2.Internal Storage内部存储空间 3.External Storage外部存储空间 4.SQLite Database数据库 5.Internet网络 这几种方式各自有各自的优点和缺点,要根据不同的实际情况来选择,而无法给出统一的标准。下面就各种方式谈谈它们的优缺点,以及最合适的使用情况: 1.Shared Preferences共享偏好 SharedPreferences是用来存储一些Key/Value类似的成对的基本数据类型,注意,它只能存储基本数据类型,也即int, long, boolean, String, float。事实上它完全相当于一个HashMap,唯一不同的就是HashMap中的Value可以是任何对象,而SharedPreferences中的值只能存储基本数据类型(primitive types)。 对于它的使用方法,可以参考Android Developer Guide,这里不重复。 如此来看,最适合SharedPreferences的地方就是保存配置信息,因为很多配置信息都是Key/Value。事实上,在Android当中SharedPreferences使用最多的地方也是用来保存配置(Settings)信息,系统中的Settings中这样,各个应用中的Settings也是这样。并且,Android中为了方便的使用SharedPreferences保存配置信息,它来专门有PreferenceActivity用来封装。也就是说如果你想在应用程序中创建配置(Settings),你可以直接使用PreferenceActivity和一些相关的专门为Preference封装的组件,而不用再直接去创建,读取和保存SharedPreference,Framework中的这些组件会为你做这些事。 再谈谈一些使用SharedPreference时的技巧,它只能保存基本数据类型,但假如我想保存一个数组,怎么办?可以把数据进行处理,把它转化成一个String,取出的时候再还原就好了;再如,如想保存一个对象,怎么办,同样,可以把对象序列化成为字符序列,或转成String(Object.toString()),或是把它的HashCode(Object.hashCode())当成Value保存进去。 总之,SharedPreferences使用起来十分的方便,可以灵活应用,因为它简单方便,所以能用它就尽量不要用文件或是数据库。 1.Internal Storage内部存储空间 所谓的内部存储与外部存储,是指是否是手机内置。手机内置的存储空间,称为内部存储,它是手机一旦出厂就无法改变,它也是手机的硬件指标之一,通常来讲手机内置存储空间越大意味着手机价格会越贵(很多地方把它称为手机内存,但我们做软件的知道,这并不准确,内存是指手机运行时存储程序,数据和指令的地方;这里应该是手机内部存储的简称为内存,而并非严格意义上的内存)。 内部存储空间十分有限,因而显得可贵,所以我们要尽可能避免使用;另外,它也是系统本身和系统应用程序主要的数据存储所在地,一旦内部存储空间耗尽,手机也就无法使用了。所以对于内部存储空间,我们要尽量避免使用。上面所谈到的Shared Preferences和下面要谈到的SQLite数据库也都是存储在内部存储空间上的。 Android本身来讲是一个Linux操作系统,所以它的内部存储空间,对于应用程序和用户来讲就是“/data/data"目录。它与其他的(外部的存储)相比有着比较稳定,存储方便,操作简单,更加安全(因为可以控制访问权限)等优点。而它唯一的缺点就是它比较有限,比较可贵。 虽然,可以非常容易的知道程序本身的数据所在路径,所有的应用程序的数据路径都是“/data/data/app-package-name/”,所有的程序用到的数据,比如libs库,SharedPreferences都是存放在这个路径下面。但我们在使用的时候最好不要,或是千万不要直接引用这个路径。 使用内部存储主要有二个方式,一个是文件操作,一个是文件夹操作。无论哪种方式,Context中都提供了相应的函数来支持,使用Context不但操作简单方便,最重要的是Context会帮助我们管理这些文件,也可以方便帮助我们控制文件的访问权限。先来系统的说下Context中关于文件和文件夹操作的函数有哪些。 a. 创建一个文件,并打开成一个文件输出流,需要提供一个String,作为文件名 1.FileOutputStream output = Context.openOutputFile(filename, Context.MODE_PRIVATE); 2.output.write(data);// use output to write whatever you like 3.output.close(); 1.FileOutputStream output = Context.openOutputFile(filename, Context.MODE_PRIVATE); output.write(data);// use output to write whatever you like output.close(); b. 同样,想打开一个文件作为输入的话,也是只需要提供文件名 1.FileInputStream input = Context.openInputFile(filename); 2.input.read(); 3.input.close(); 1.FileInputStream input = Context.openInputFile(filename); input.read(); input.close(); c. 列出所有的已创建的文件 1.String[] files = Context.fileList(); 2.for (String file : files) { 3. Log.e(TAG, "file is " + file); 4.} 1.String[] files = Context.fileList(); for (String file : files) { Log.e(TAG, "file is " + file); } d. 删除文件,能创建就要能够删除,当然也会提供了删除文件的接口,它也非常简单,只需要提供文件名 1.if (Context.deleteFile(filename)) { 2. Log.e(TAG, "delete file " + filename + " sucessfully“); 3.} else { 4. Log.e(TAG, "failed to delete file " + filename); 5.} 1.if (Context.deleteFile(filename)) { Log.e(TAG, "delete file " + filename + " sucessfully“); } else { Log.e(TAG, "failed to delete file " + filename); } e. 获取文件已创建文件的路径,它返回一个文件对象用于操作路径 1.File fileDir = Context.getFileDir(); 2.Log.e(TAG, "fileDir " + fileDir.getAbsolutePath(); 1.File fileDir = Context.getFileDir(); Log.e(TAG, "fileDir " + fileDir.getAbsolutePath(); f. 创建一个目录,需要传入目录名称,它返回 一个文件对象用到操作路径 1.File workDir = Context.getDir(dirName, Context.MODE_PRIVATE); 2.Log.e(TAG, "workdir " + workDir.getAbsolutePath(); 1.File workDir = Context.getDir(dirName, Context.MODE_PRIVATE); Log.e(TAG, "workdir " + workDir.getAbsolutePath(); g. 以File对象方式查看所创建文件,需要传入文件名,会返回文件对象 1.File store = Context.openFileStreamPath(filename); 2.Log.e(TAG, "store " + store.length()); 1.File store = Context.openFileStreamPath(filename); Log.e(TAG, "store " + store.length()); h. 获取Cache路径,无需要传入参数,返回文件对象 1.File cachedir = Context.getCacheDir(); 2.Log.e(TAG, "cachedir " + cacheDir.getAbsolutePath()); 1.File cachedir = Context.getCacheDir(); Log.e(TAG, "cachedir " + cacheDir.getAbsolutePath()); 总结一下文件相关操作,可以得出以下三个特点: 1. 文件操作只需要向函数提供文件名,所以程序自己只需要维护文件名即可; 2. 不用自己去创建文件对象和输入、输出流,提供文件名就可以返回File对象或输入输出流 3. 对于路径操作返回的都是文件对象。 如前所述,内部存储空间有限,可贵,安全,稳定,所以应该用来保存比较重要的数据,比如用户信息资料,口令秘码等不需要与其他应用程序共享的数据。也可以用来创建临时文件,但一定要注意及时删除。另外,对于内部存储还有一个非常重要的特点,那就是在应用程序被卸载时,应用程序在内部存储空间的文件数据将全部被删除。系统这样做的原因很简单,就是因为内部存储很有限,它必须保证它的可用性,因为一旦添满,系统将无法再正常工作。 1.External Storage外部存储空间 再来谈谈手机外部存储空间,与内部存储空间相对,外部存储空间是指手机出厂的时候不存在,用户在使用时候可以自由添加的外部存储介质比如TS卡,SD卡等闪存储介质。这些闪存介质由最初的空间小价格贵,到现在的大容量价格便宜,所以几乎每个支持外部存储的手机上面都有大容量(大于等于2G)的闪存卡。 Android也是不例外,它完全支持外部存储介质。其实更确切的说,它是要依赖于外部存储卡的,因为对于Android系统,如果没有外部存储卡,很多的系统应用无法使用,比如多媒体相关的应用程序无法使用。虽然Android很依赖,但是外部存储卡也有它自身的特点,它最大的优点就是存储空间大,基本上你可无限制的使用,也不怎么担心去清除数据。就目前来看,很多程序都在使用外部存储卡,但很少有程序去主动清理数据,所以无论你的SD卡有多大,它的可用空间却越来越少。与内部存储不同的是,当程序卸载时,它在外部存储所创建的文件数据是不会被清除的。所以清理外部存储空间的责任丢给了用户自己,每隔一段时间就去查看下SD卡,发现无用数据立马删除。外部存储的缺点就是不是很稳定,对于Android手机来讲可以说,很不稳定,本身闪存介质就容易出问题,SD卡处于不能正常使用的状态十分多。 先来说说外部存储相关的使用方法和API: a. Check media availability检查介质的可用性 如前所述,外部存储介质的稳定性十分的差,所以在使用之前一定要先检查它的可用性,如果可用再去用 view plain to clipboardprint? 1.final String state = Environment.getExternalStorageState(); 2.if (state.equals(Environment.MEDIA_MOUNTED) || state.equals(Environment.MEDIA_READ_ONLY)) {// sd card is ready to us } view plain to clipboardprint? 1.final String state = Environment.getExternalStorageState(); if (state.equals(Environment.MEDIA_MOUNTED) || state.equals(Environment.MEDIA_READ_ONLY)) {// sd card is ready to us } final String state = Environment.getExternalStorageState(); if (state.equals(Environment.MEDIA_MOUNTED) || state.equals(Environment.MEDIA_READ_ONLY)) {// sd card is ready to us } b. Get the directory获取外部存储卡的路径 事实上,外部存储卡的路径是“/mnt/sdcard",所以你直接这样写去访问也能访问的到。鉴于可读性和可移植性的考虑,建议这样写: view plain to clipboardprint? 1.File sdcardDir = Environment.getExternalStorageDirectory(); view plain to clipboardprint? 1.File sdcardDir = Environment.getExternalStorageDirectory(); File sdcardDir = Environment.getExternalStorageDirectory(); c. For API 8 or greater, there are some other useful APIs helping to manager files and directories. 如果你使用API 8(Android 2.2)或者更高,那么SDK中又多了几个操作外部存储文件和路径的接口,文档中也建议开始者更加规范的使用SD卡。比如,创建相应的目录去存储相应的数据,Music,Picture,Video等。应用程序目录也变成了"/Android/data/package-name/data"。具体的使用可以参考文档,这里不重复。当然,就像编程规范一样,这里只是规范,你完全可以不遵守它,但出于可读性和可移植性,还是建议按照文档建议的去做。 下面总结一下使用时应该注意的一些和外部存储的特点: a. 外部存储卡不是随时想用就能够用的,所以一定要记得在使用之前检查它的可用性 b. 存储在外部存储卡上的数据是所有应用程序都可见,用户也可见(使用FileManager),所以安全性不是很好,虽然文档声称可以在外部存储卡上写程序私有数据,但貌似没用,用FileManager仍然可以删除或编辑文件(Market上面的FileManager功能都十分的强大,能让用户看到SD卡中的所有文件,和操作能看到的文件)。 c. Android手机支持把外部存储卡Mount至PC做为U盘,当连接数据线时,这时SD卡变成了U盘连接到了另外的操作系统中。什么意思,就是在Android当中虽然有的文件属性(隐藏,私有等),到了PC上就不一定管用了,用户在PC上可以随意操作文件(这就是第二点中所提及的)。 d. 如果使用外部存储卡保存数据,一定要额外做好异常处理:外部存储卡不可用时把数据存入哪里;可用的时候再怎么同步数据(这是比较头疼的地方,可行的做法就是当SD卡不可用时不准用户写数据,但这用户体验又不是很好,但如你所知,很多应用都这么干);你的数据被破坏了。当然常见的异常也要考虑,比如空间满了,无法写入,磁盘坏道等。 1.SQLite Database数据库 Android对数据库的支持很好,它本身集成了SQLite数据库,每个应用都可以方便的使用它,或者更确切的说,Android完全依赖于SQLite数据库,它所有的系统数据和用到的结构化数据都存储在数据库中。 它具有以下优点: a. 效率出众,这是无可否认的 b. 十分适合存储结构化数据 c. 方便在不同的Activity,甚至不同的应用之间传递数据 先前有一篇文章讲到了不同Activity和不同应用之间传递数据的麻烦,特别是对于大型数据结构,因为Activity虽是Java对象,但去无法像使用其他类对象那样去创建一个实例然后使用它,更无法给Activity加上Setters和Getters(虽然这样做了没有编译错误)。比较好的解决方案就是把结构化数据写入数据库,然后在不同的Activity之间传递它们的Uri。 d. 由专门的ContentProvider来帮忙管理和维护数据库 e. 可以方便的设置访问权限,私有还是都可见 f. 操作方便,使用标准的CRUDE语句,ContentResolver.query(), update(), delete() insert(),详见ContentResolver g. 良好的可移植性和通用性,用标准的SQL语句就能实现CRUDE 对于它的使用方法可以去参考文档,这里也说不清楚。 1.Internet网络 网络是比较不靠谱的一个,因为移动终端的网络稳定性,以及所产生的流量让人伤不起,用户更伤不起。但若是对于非常重要的实时数据,或是需要发送给远端服务器处理的,也可以考虑使用网络实时发送。这已经有先例了,Apple和Google就是这样,iPhone设备和Android设备都会在用户不知情的情况 下收集用户的信息,然后又在用户不知情的情况 下发送到Apple和Google的服务器上,也就是所谓的“跟踪门”。除此之外,智能手机(特别是Android和火热的iPhone)上面的应用程序都会偷偷的在后台运行,收集用户数据,然后再偷偷的发服务器,直接伤害是用户流量,请看先前的文章。 对比这几种方式,可以总结下: 1. 简单数据和配置信息,SharedPreference是首选; 2. 如果SharedPreferences不够用,那么就创建一个数据库 3. 结构化数据,一定要创建数据库,虽然这稍显烦锁,但是好处无穷 4. 文件就是用来存储文件(也即非配置信息或结构化数据),如文本文件,二进制文件,PC文件,多媒体文件,下载的文件等等。 5. 尽量不要创建文件 6. 如果创建文件,如果是私密文件或是重要文件,就存储在内部存储,否则放到外部存储 7. 不要收集用户数据,更不要发到网络上,虽然你们也有很多无奈。用户也无奈,也无辜,但更无助 平台为开发者准备了这么多的方式固然是一件好事,但我们要认清每一种的优点和缺点,根据实际情况选择最合适的。还有一个原则就是最简单原则,也就是说能用简单的方式处理,就不要用复杂的方式。
㈥ 数据存储的三类简介
一、DAS(Direct Attached Storage)直接附加存储,DAS这种存储方式与我们普通的PC存储架构一样,外部存储设备都是直接挂接在服务器内部总线上,数据存储设备是整个服务器结构的一部分。
DAS存储方式主要适用以下环境:
(1)小型网络
因为网络规模较小,数据存储量小,且也不是很复杂,采用这种存储方式对服务器的影响不会很大。并且这种存储方式也十分经济,适合拥有小型网络的企业用户。
(2)地理位置分散的网络
虽然企业总体网络规模较大,但在地理分布上很分散,通过SAN或NAS在它们之间进行互联非常困难,此时各分支机构的服务器也可采用DAS存储方式,这样可以降低成本。
(3)特殊应用服务器
在一些特殊应用服务器上,如微软的集群服务器或某些数据库使用的原始分区,均要求存储设备直接连接到应用服务器。
(4)提高DAS存储性能
在服务器与存储的各种连接方式中,DAS曾被认为是一种低效率的结构,而且也不方便进行数据保护。直连存储无法共享,因此经常出现的情况是某台服务器的存储空间不足,而其他一些服务器却有大量的存储空间处于闲置状态却无法利用。如果存储不能共享,也就谈不上容量分配与使用需求之间的平衡。
DAS结构下的数据保护流程相对复杂,如果做网络备份,那么每台服务器都必须单独进行备份,而且所有的数据流都要通过网络传输。如果不做网络备份,那么就要为每台服务器都配一套备份软件和磁带设备,所以说备份流程的复杂度会大大增加。
想要拥有高可用性的DAS存储,就要首先能够降低解决方案的成本,例如:LSI的12Gb/s SAS,在它有DAS直联存储,通过DAS能够很好的为大型数据中心提供支持。对于大型的数据中心、云计算、存储和大数据,所有这一切都对DAS存储性能提出了更高的要求,云和企业数据中心数据的爆炸性增长也推动了市场对于可支持更高速数据访问的高性能存储接口的需求,因而LSI 12Gb/s SAS正好是能够满足这种性能增长的要求,它可以提供更高的IOPS和更高的吞吐能力,12Gb/s SAS提高了更高的写入的性能,并且提高了RAID的整个综合性能。
与直连存储架构相比,共享式的存储架构,比如SAN(storage-area network)或者NAS(network-attached storage)都可以较好的解决以上问题。于是乎我们看到DAS被淘汰的进程越来越快了。可是到2012年为止,DAS仍然是服务器与存储连接的一种常用的模式。事实上,DAS不但没有被淘汰,近几年似乎还有回潮的趋势。 二、NAS(Network Attached Storage)数据存储方式
NAS(网络附加存储)方式则全面改进了以前低效的DAS存储方式。它采用独立于服务器,单独为网络数据存储而开发的一种文件服务器来连接所存储设备,自形成一个网络。这样数据存储就不再是服务器的附属,而是作为独立网络节点而存在于网络之中,可由所有的网络用户共享。
NAS的优点:
(1)真正的即插即用
NAS是独立的存储节点存在于网络之中,与用户的操作系统平台无关,真正的即插即用。
(2)存储部署简单
NAS不依赖通用的操作系统,而是采用一个面向用户设计的,专门用于数据存储的简化操作系统,内置了与网络连接所需要的协议,因此使整个系统的管理和设置较为简单。
(3)存储设备位置非常灵活
(4)管理容易且成本低
NAS数据存储方式是基于现有的企业Ethernet而设计的,按照TCP/IP协议进行通信,以文件的I/O方式进行数据传输。
NAS的缺点:
(1)存储性能较低(2)可靠度不高 三、SAN(Storage Area Network)存储方式
1991年,IBM公司在S/390服务器中推出了ESCON(Enterprise System Connection)技术。它是基于光纤介质,最大传输速率达17MB/s的服务器访问存储器的一种连接方式。在此基础上,进一步推出了功能更强的ESCON Director(FC SWitch),构建了一套最原始的SAN系统。
SAN存储方式创造了存储的网络化。存储网络化顺应了计算机服务器体系结构网络化的趋势。SAN的支撑技术是光纤通道(FC Fiber Channel)技术。它是ANSI为网络和通道I/O接口建立的一个标准集成。FC技术支持HIPPI、IPI、SCSI、IP、ATM等多种高级协议,其最大特性是将网络和设备的通信协议与传输物理介质隔离开,这样多种协议可在同一个物理连接上同时传送。
SAN的硬件基础设施是光纤通道,用光纤通道构建的SAN由以下三个部分组成:
(1)存储和备份设备:包括磁带、磁盘和光盘库等。
(2)光纤通道网络连接部件:包括主机总线适配卡、驱动程序、光缆、集线器、交换机、光纤通道和SCSI间的桥接器
(3)应用和管理软件:包括备份软件、存储资源管理软件和存储设备管理软件。
SAN的优势:
(1)网络部署容易;
(2)高速存储性能。因为SAN采用了光纤通道技术,所以它具有更高的存储带宽,存储性能明显提高。SAn的光纤通道使用全双工串行通信原理传输数据,传输速率高达1062.5Mb/s。
(3)良好的扩展能力。由于SAN采用了网络结构,扩展能力更强。光纤接口提供了10公里的连接距离,这使得实现物理上分离,不在本地机房的存储变得非常容易。 DAS、NAS和SAN三种存储方式比较
存储应用最大的特点是没有标准的体系结构,这三种存储方式共存,互相补充,已经很好满足企业信息化应用。
从连接方式上对比,DAS采用了存储设备直接连接应用服务器,具有一定的灵活性和限制性;NAS通过网络(TCP/IP,ATM,FDDI)技术连接存储设备和应用服务器,存储设备位置灵活,随着万兆网的出现,传输速率有了很大的提高;SAN则是通过光纤通道(Fibre Channel)技术连接存储设备和应用服务器,具有很好的传输速率和扩展性能。三种存储方式各有优势,相互共存,占到了磁盘存储市场的70%以上。SAN和NAS产品的价格仍然远远高于DAS.许多用户出于价格因素考虑选择了低效率的直连存储而不是高效率的共享存储。
客观的说,SAN和NAS系统已经可以利用类似自动精简配置(thin provisioning)这样的技术来弥补早期存储分配不灵活的短板。然而,之前它们消耗了太多的时间来解决存储分配的问题,以至于给DAS留有足够的时间在数据中心领域站稳脚跟。此外,SAN和NAS依然问题多多,至今无法解决。
㈦ SLA在电脑中是什么意思
SLA:Service-Level Agreement的缩写,意思是服务等级协议。
是关于网络服务供应商和客户间的一份合同,其中定义了服务类型、服务质量和客户付款等术语。
项目
典型的SLA 包括以下项目:
分配给客户的最小带宽;
客户带宽极限;
能同时服务的客户数目;
在可能影响用户行为的网络变化之前的通知安排;
拨入访问可用性;
运用统计学;
服务供应商支持的最小网络利用性能,如99.9%有效工作时间或每天最多为1分钟的停机时间;
各类客户的流量优先权;
客户技术支持和服务;
惩罚规定,为服务供应商不能满足 SLA 需求所指定。
要求
按照 SLA 要求,服务供应商采用多种技术和解决方案去监控和管理网络性能及流量,以满足 SLP 中的相关需求,并产生对应的客户结果报告。
另一方面,客户本身也提出了自己的技术及解决方案去监控邻居的流量和服务,以确保提供他们答应的传送服务项目。
SLA概念已被大量企业所采纳,作为公司 IT 部门的内部服务。大型企业的 IT 部门都规范了一套服务等级协议,以衡量、确认他们的客户(企业其他部门的用户)服务,有时也与外部网络供应商提供的服务进行比较。
1)IP SLA
Service Level Agrement(服务等级协议)在ISP领域指的是用户和服务提供商签订的服务等级合同。用户可以享受什么样的等级什么样的带宽服务等等。当然此处我们探讨的和这个无关,我们主要对企业网络环境中应用SLA的作用做探讨。[1]
2) 静态浮动路由
浮动静态路由是一种静态路由,在主路由失效时,提供备份路由。但在主路由存在的情况下它不会出现在路由表中。浮动静态路由主要用于拔号备份.
3) IP SLA功能
-检测路由器之间的网络性能。
-量化当前网络的性能,健康状况。
-评估现有网络的服务质量。
-帮助用户分析,排除网络故障。
-和浮动静态路由,HSRP等技术结合做track功能(工程中应用较多的实例)
4) IP SLA原理
通过发送测试报文,对网络性能,服务质量进行分析,并为用户提供网络服务质量的各种参数,例如:
抖动延迟,文件传输速率,TCP时延等。
测试
测试SLA以确保提供商承诺的服务水平有如下方式:
第一种方法是向提供商提出一个实际问题,这能使您对支持过程和工作人员熟练度有一定的掌握。也有助于验证非工作时间内“7x24”或“8x5”服务的真正意义。
第二种方法是谈论提供商所接触的其他客户。某些时候在一些事情上会出现错误,但外包服务提供商会做出如何反应。他们是否会提供实时性更新通知吗?问题如果已解决,供应商将告诉你一个真实的情况。一般情况下,您将听到好的消息和问题如何得到解决的例子。
第三种方法是检查提供商的现行做法。例如:签署一份包含数据中心空间、运行时间、温度和湿度的SLA。需查看项目设备维护记录。通过看报告,可以确定,其发电机的“定期测试”每年只有两次。此外,也能够验证HVAC和UPS系统已经处于延迟维护状态。以此确定选择这个提供商是不明智的,尽管提供的设施表现足够好,但是没有文件备份。
外包SLA是服务提供商和客户之间关系的基石。但至关重要的是,企业要了解SLA中的各项条款,还要知道如何在SLA谈判中从提供商那里获得有利的条款。同样重要的是,提供商要尽职尽责的确保客户在正常运行时间的临界条件。[2]
服务协议编辑
定义
SLA服务水平协议(简称:SLA,全称:service level agreement)是在一定开销下为保障服务的性能和可靠性,服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。
内容
一个完整的SLA同时也是一个合法的文档,包括所涉及的当事人、协定条款(包含应用程序和支持的服务)、违约的处罚、费用和仲裁机构、政策、修改条款、报告形式和双方的义务等。同样服务提供商可以对用户在工作负荷和资源使用方面进行规定。
保障
传统上,SLA包含了对服务有效性的保障,譬如对故障解决时间、服务超时等的保证。但是随着更多的商业应用在Internet的广泛开展,越来越需要SLA对性能(如响应时间)作出保障。这种需要将会随着越来越多的商业在Internet 的开展而重要起来。实际上,SLA的保障是以一系列的服务水平目标(SLO)的形式定义的。服务水平目标是一个或多个有限定的服务组件的测量的组合。一个SLO被实现是指那些有限定的组件的测量值在限定范围里。SLO有所谓的操作时段,在这个时间范围内,SLO必须被实现。但是由于Internet的统计特性,不可能任何时候都能实现这些保障。因此SLA一般都有实现时间段和实现比例。实现比例被定义为SLA必须实现的时间与实现时段的比值。例如:在工作负荷<100 transaction/s前提下,早上8点到下午5点服务响应时间<85ms,服务有效率>95%,在一个月内的总体实现比例 >97%。
监测
[3] 1、轻松监控SLA的先决条件
签署SLA,会有一下形式:IaaS、PaaS和SaaS,分别是基础设施即服务、平台即服务和软件即服务。企业应该确保它们能对所有签署的SLA的进行监控。
比如说,IT托管服务商景安网络使用多种工具来监控SLA和基础设施的可用性。这些工具能够监控性能和基础设施、容量的健康状况趋势,并作出报告。
2、第三方监控
审计是很重要的一步,能够确保安全,保证SLA的承诺和责任归属,保持需求合规。企业可以用第三方监控。如果企业在云中运行业务关键的应用,这项服务应该保持定期审查,确保合规,敦促厂商与SLA步调一致。
对于不合规的处罚和SLA违反,我们只能基于服务信用。未来可以通过绑定业务级别SLA来作为弥补。
3、转换SLA,帮助整个业务成果
尽管云计算市场正在迅猛增长,中小企业的IT大多数都不够成熟,不足以支撑基于基础设施的SLA来帮助义务发展。企业应该选择最适合业务需求的SLA,而不是急急忙忙签署协议。
如果企业操之过急,直接选择基础设施级别的SLA,可能会由公司内部产生很多话费。比如说,某企业想要99.999%的高可用性,服务商就会提供更多冗余和灾难恢复,结果花费大幅提高。
当聚焦于节俭型业务级别SLA时,云计算SLA监控应该具有逻辑性和可行性,而不仅仅是基础设施级别的SLA。
4、确保告警装置
为了让SLA监控更高效,你得确保可用性和责任时间通过Web portal定期报告。企业应该保证及时的e-mail告警。
5、确保厂商有高效的后备设施
不同的厂商对于数据保护的系统也不同。但是有的厂商会把该职责推给客户,这样的话客户只好自己保护数据。因此企业应该确定服务商在签署SLA时,是否对此负有责任。
你可以问这些问题:厂商用什么装置保护数据?厂商是否在后端复制镜像?有快照吗?灾难恢复计划是否有效?未授权的人能否访问数据?
6、确保服务商的生态系统
选择厂商时,要看看它的生态系统是否整合了SI、ISP、IaaS/PaaS供应商。如果一个云供应商只关注单一的基础设施级别或者PaaS,不会关注别的,那就可能不适合长远发展。
对于云管理即服务,第三方解决方案可以考虑用来进行云SLA监控,它能以每秒为单位检查问题,毕竟灾难常常源于细节问题。
服务标准
一、紧急情况
当网站发生服务器宕机,数据库无法读写等一级紧急事件时,网站维护方应当在1小时内响应,2小时内协助解决该情况。并在因外部原因无法立即解决时(例如服务器所在机房受到黑客攻击,服务器硬盘读写失败等事件),向客户报告情况并提供具体解决的时间。成熟的网站建设公司对于紧急情况通常都会有一套完善的应急解决方案,帮助客户及时解决突发事件,最大程度的挽救因网站无法访问导致的损失。
二、重要情况
网站正式上线过程后,有时会出现在验收过程中没有察觉的bug,这个时候,建站企业应当积极协助客户解决该bug,具体的响应时间根据bug造成的影响程度而定。根据SLA服务标准,bug的等级亦可进行进一步的划分并制定相应的解决方案。这里不予以赘述。
三、标准情况
在网站设计和网站编码阶段,因设计师和程序员协作环节的不一致性,有可能出现网页的样式问题和兼容性问题。以及由于客户临时需求的变更和新增,都会对正式运行的网站产生新的维护需求。按照需求的难易性和工作量制定相应的响应标准,是保证客户满意度的关键所在,也是SLA服务标准体系当中的重要环节。
四、次要情况
包括页面上一些细节的小调整,如个别文字、样式上的调整,图片的更替等等,通常在24小时内响应,双方商议的时间内进行解决即可。当然,SLA服务体系的出发点是为IT服务提供完善、标准、科学的解决方案,任何忽略细节的处理方式都有可能影响客户满意度。[4]
SLA的可量化
SLA的协定有一个很重要的关注点,即SLA的“可测量性”与“测量方法”,有一些运维服务商与客户协商一些复杂的指标,但这些指标在合同周期内是根本无法进行测量的,这种SLA的协定就丧失了意义,无法测量就意味着根本无法知道执行情况、无法计算执行结果,也无从改善与控制,这是一方面,另一方面,当我们确定了一些指标后,这些指标的计算方法与测量方法也是需要注意的,这些要与客户商定清楚,避免了有指标,但最后的测量方法双方不一致,导致最终的达成结果出现偏差而发生纠纷。
云计算SLA
SLA概念已被大量企业所采纳,作为公司IT部门的内部服务。
云计算SLA现状
许多IT经理正在考虑把许多应用及服务迁移进云端。一部分人因为经济原因被迫考虑云计算,而另外一部分人考虑提供一些新的IT服务。不管怎样,IT经理不久的将来不得不面对服务等级协议(SLA)[5] 。
对于许多IT经理来说,评估SLA是不容易的。毕竟大多数的SLA都是一些条款形式的内容,人们很难确定某个运营商实际能够提供哪些服务。而且SLA的提出主要是为了保护运营商的利益,而不是针对客户,这样使整个事情变得更为复杂。许多运营商提供SLA主要是为了避免一些不必要的纠纷和诉讼,同时提供给客户最小限度的保证。也就是说,当其企业选择了一个云运营商并且对那些服务进行有效的安排之后,SLA同样能够成为IT经理一种有效的工具。
IT经理需要关注SLA的三个方面:数据保护,连续性和费用开销。毋庸置疑,数据保护是最需要关注的一个要素。IT经理想要确认谁有权使用这些数据。刚开始确定数据保护的级别似乎很容易,但是还是有很多隐藏的问题。IT经理必须查出这些问题并且解决他们。
这些问题进一步的升级就涉及到了知识产权保护问题。所有的问题最后都归结为谁最终能够控制客户的这些私有数据。
一个IT经理需要明白如何利用运营商的基础构架和服务来为那些必须的应用和数据提供连续不断的保护。业务不间断性非常重要。最理想的情形是运营商保证提供100%的不间断服务,但实际上这样的保证是不可能实现的。
所有的服务提供商都将会经历在某一时刻宕机的情况,因为有很多超出他们控制范围的情况发生,包括自然灾害以及社会生活中发生的一些不确定因素。大部分的服务提供商最多能够给予99.5%正常运行时间的保证。但是这些保证通常还附带另外一些限制条件。即便如此,运营商可以尽力保证这些服务在一个可接受的层次范围之内。
一些运营商都将价格要素包含在他们的SLA中,其余的则将这些费用放置在一些独立的合同条款中。不管怎样,IT经理必须明白这些费用包含在基于云的服务中。这些费用不仅仅和预算有关,而且通常被用来确定投资收益率。价格分析通常都是财务部门的任务,但是IT经理能够帮助加速这个过程,或许还能够为那些花费在云服务上的费用提供一些简单合理的解释。
找到这些问题的的答案并牢记以上要点能够帮助IT经理作出一些有理有据的决定。当他们选择一个服务提供商并且打算和提供商建立长期合作的时候,这些决定能够同时保证服务的有效以及可靠。所有这些归结起来都是为了简化关于服务等级协议(SLA)的描述,并且给大家提供SLA的一个通俗概念。
评估云计算SLA的另一个问题是无法让所有相关参与者都确保SLA。云计算工作流程通常涉及三方——企业本地自有网络的员工、让员工访问云计算的网络供应商以及云计算供应商。具体可能还涉及企业的数据中心(网络与托管)和提供“云计算至数据中心”连接的另一家网络供应商。供应商通常不会撰写或接受用于处理他们所不涉及工作流程环节的SLA。你需要让他们同意成为他们为此收取一定费用的“主要承包商”或者为所涉及的每一方得到或编写一份SLA。
通常SLA中的最大问题是网络连接问题,因为在大多数情况下,除了在云计算本身内部的情况外,云计算供应商是不会提供网络服务。如果你希望严格的SLA,那么你将需要为网络服务编制一份SLA。所以,你应当首先确认你的云计算供应商是否会提供一个VPN或者他们是否能够与你所使用VPN服务的供应商进行协作。在很多情况下,你仍然需要使用互联网来实现用户的连接性,但是VPN将为你提供一个你希望获得保证的坚实网络边界。[6]
签署云计算SLA当注意事项
没有人能够确定所有与企业防火墙外机密或私有信息存储(云计算)相关的法律风险。但是,越来越多的舆论认为,企业用户应当要求云计算供应商来维护一个安全的IT环境,以规避与云计算相关的潜在法律风险。一般来说,与云计算相关的关注领域类似于传统IT的关注领域:
· 传输与存储期间的数据安全;
· 数据的私密性和保密;
· 一般访问、地方政府访问以及电子查询的权利;
· 数据所有权;
· 服务的暂停与终止;
· 与云计算供应商共同协商和制定服务等级协议(SLA)。
因为许多领先的云计算供应商是拥有更为庞大客户群的实体,SLA的处罚细节并不总是可以通过谈判解决的。通常情况下,SLA只是在“要就拿走,不要拉倒”基础上提出的简单形式。因此,你应当考虑的第一个问题是你是否愿意把贵公司的数据放到一个你无法掌控的环境中。如果你对此感到无所适从,我建议你找一个供应商一起来讨论服务条款细节。
云计算存储的新手,可以考虑优先级的数据存储。通过首先迁移非核心数据,许多公司开始了云计算化的实施。这个策略可使他们试用这一服务,并确定该服务是否具有成本效益而不会担心影响核心业务功能。例如,一个刚刚接触云计算技术的律师事务所可能会决定,在把特殊机密的客户信息迁往标准网络防火墙外之前,可以尝试先把后台管理系统信息(如薪金、雇员福利)放置在云中。
云计算SLA和点菜选项
要求敏感数据驻留在私有云中既然云计算的目的在于通过设施共享实现规模经济效益,那么这可能并不是一个合适的定义;但是,有可能出现这样的场景,即使用专用云计算基础设施才是有意义的。寻找特殊的数据加密技术。如果信息特别的敏感,那么你可能需要云计算供应商来提供额外的保护。
数据存储所在地的地域限制。出于法律或与客户相关的目的,你可能不希望数据存储在执法不严格或法律不确定的海外。
独特的服务等级。如果你的企业有特殊的数据访问和使用的需求,不要犹豫,请向你的云计算供应商请求特殊服务。对违反协议条款的特殊处罚。如果对于你或你的客户来说,违犯数据私密性处以特殊处罚是非常重要的,请直接向他们提出。
处理云计算供应商所有权变更的规定。云计算市场总是出于快速的变化中。你可能需要在你的SLA中增加所有权变更或不可转让的条款。在这样的规定中,你可能需要澄清云计算供应商永远不得拥有你委托他们管理的数据,即便在你决定更换供应商时。
关于发生灾难事件时业务连续性的规定。你需要知道在发生地震、海啸或其它自然灾害事件时对你的数据的影响。 除了这些条款之外,你可能还需要增加传统的IT外包合同条款,其中你已逐渐习惯的电子查询和违犯处罚,诸如:
· 基于预定义标准——内容、发件人和/或收件人、日期范围和元数据的搜索;
· 与任意元数据相关的存储搜索;
· 从搜索结果中新增和删除,以创建一个电子查询集。
㈧ 数据存储形式有哪几种
【块存储】
典型设备:磁盘阵列,硬盘
块存储主要是将裸磁盘空间整个映射给主机使用的,就是说例如磁盘阵列里面有5块硬盘(为方便说明,假设每个硬盘1G),然后可以通过划逻辑盘、做Raid、或者LVM(逻辑卷)等种种方式逻辑划分出N个逻辑的硬盘。(假设划分完的逻辑盘也是5个,每个也是1G,但是这5个1G的逻辑盘已经于原来的5个物理硬盘意义完全不同了。例如第一个逻辑硬盘A里面,可能第一个200M是来自物理硬盘1,第二个200M是来自物理硬盘2,所以逻辑硬盘A是由多个物理硬盘逻辑虚构出来的硬盘。)
接着块存储会采用映射的方式将这几个逻辑盘映射给主机,主机上面的操作系统会识别到有5块硬盘,但是操作系统是区分不出到底是逻辑还是物理的,它一概就认为只是5块裸的物理硬盘而已,跟直接拿一块物理硬盘挂载到操作系统没有区别的,至少操作系统感知上没有区别。
此种方式下,操作系统还需要对挂载的裸硬盘进行分区、格式化后,才能使用,与平常主机内置硬盘的方式完全无异。
优点:
1、 这种方式的好处当然是因为通过了Raid与LVM等手段,对数据提供了保护。
2、 另外也可以将多块廉价的硬盘组合起来,成为一个大容量的逻辑盘对外提供服务,提高了容量。
3、 写入数据的时候,由于是多块磁盘组合出来的逻辑盘,所以几块磁盘可以并行写入的,提升了读写效率。
4、 很多时候块存储采用SAN架构组网,传输速率以及封装协议的原因,使得传输速度与读写速率得到提升。
缺点:
1、采用SAN架构组网时,需要额外为主机购买光纤通道卡,还要买光纤交换机,造价成本高。
2、主机之间的数据无法共享,在服务器不做集群的情况下,块存储裸盘映射给主机,再格式化使用后,对于主机来说相当于本地盘,那么主机A的本地盘根本不能给主机B去使用,无法共享数据。
3、不利于不同操作系统主机间的数据共享:另外一个原因是因为操作系统使用不同的文件系统,格式化完之后,不同文件系统间的数据是共享不了的。例如一台装了WIN7/XP,文件系统是FAT32/NTFS,而Linux是EXT4,EXT4是无法识别NTFS的文件系统的。就像一只NTFS格式的U盘,插进Linux的笔记本,根本无法识别出来。所以不利于文件共享。
【文件存储】
典型设备:FTP、NFS服务器
为了克服上述文件无法共享的问题,所以有了文件存储。
文件存储也有软硬一体化的设备,但是其实普通拿一台服务器/笔记本,只要装上合适的操作系统与软件,就可以架设FTP与NFS服务了,架上该类服务之后的服务器,就是文件存储的一种了。
主机A可以直接对文件存储进行文件的上传下载,与块存储不同,主机A是不需要再对文件存储进行格式化的,因为文件管理功能已经由文件存储自己搞定了。
优点:
1、造价交低:随便一台机器就可以了,另外普通以太网就可以,根本不需要专用的SAN网络,所以造价低。
2、方便文件共享:例如主机A(WIN7,NTFS文件系统),主机B(Linux,EXT4文件系统),想互拷一部电影,本来不行。加了个主机C(NFS服务器),然后可以先A拷到C,再C拷到B就OK了。(例子比较肤浅,请见谅……)
缺点:
读写速率低,传输速率慢:以太网,上传下载速度较慢,另外所有读写都要1台服务器里面的硬盘来承担,相比起磁盘阵列动不动就几十上百块硬盘同时读写,速率慢了许多。
【对象存储】
典型设备:内置大容量硬盘的分布式服务器
对象存储最常用的方案,就是多台服务器内置大容量硬盘,再装上对象存储软件,然后再额外搞几台服务作为管理节点,安装上对象存储管理软件。管理节点可以管理其他服务器对外提供读写访问功能。
之所以出现了对象存储这种东西,是为了克服块存储与文件存储各自的缺点,发扬它俩各自的优点。简单来说块存储读写快,不利于共享,文件存储读写慢,利于共享。能否弄一个读写快,利 于共享的出来呢。于是就有了对象存储。
首先,一个文件包含了了属性(术语叫metadata,元数据,例如该文件的大小、修改时间、存储路径等)以及内容(以下简称数据)。
以往像FAT32这种文件系统,是直接将一份文件的数据与metadata一起存储的,存储过程先将文件按照文件系统的最小块大小来打散(如4M的文件,假设文件系统要求一个块4K,那么就将文件打散成为1000个小块),再写进硬盘里面,过程中没有区分数据/metadata的。而每个块最后会告知你下一个要读取的块的地址,然后一直这样顺序地按图索骥,最后完成整份文件的所有块的读取。
这种情况下读写速率很慢,因为就算你有100个机械手臂在读写,但是由于你只有读取到第一个块,才能知道下一个块在哪里,其实相当于只能有1个机械手臂在实际工作。
而对象存储则将元数据独立了出来,控制节点叫元数据服务器(服务器+对象存储管理软件),里面主要负责存储对象的属性(主要是对象的数据被打散存放到了那几台分布式服务器中的信息),而其他负责存储数据的分布式服务器叫做OSD,主要负责存储文件的数据部分。当用户访问对象,会先访问元数据服务器,元数据服务器只负责反馈对象存储在哪些OSD,假设反馈文件A存储在B、C、D三台OSD,那么用户就会再次直接访问3台OSD服务器去读取数据。
这时候由于是3台OSD同时对外传输数据,所以传输的速度就加快了。当OSD服务器数量越多,这种读写速度的提升就越大,通过此种方式,实现了读写快的目的。
另一方面,对象存储软件是有专门的文件系统的,所以OSD对外又相当于文件服务器,那么就不存在文件共享方面的困难了,也解决了文件共享方面的问题。
所以对象存储的出现,很好地结合了块存储与文件存储的优点。
最后为什么对象存储兼具块存储与文件存储的好处,还要使用块存储或文件存储呢?
1、有一类应用是需要存储直接裸盘映射的,例如数据库。因为数据库需要存储裸盘映射给自己后,再根据自己的数据库文件系统来对裸盘进行格式化的,所以是不能够采用其他已经被格式化为某种文件系统的存储的。此类应用更适合使用块存储。
2、对象存储的成本比起普通的文件存储还是较高,需要购买专门的对象存储软件以及大容量硬盘。如果对数据量要求不是海量,只是为了做文件共享的时候,直接用文件存储的形式好了,性价比高。