‘壹’ 1 简述数据结构的4种逻辑结构和4种物理结构的特点,并举例说明。 2. 简述顺序存储结构和链式存储结构的优
4种逻辑结构及特点:
①
集合
集合中任何两个数据元素之间都没有逻辑关系,组织形式松散。
②
线性结构
线性结构中的
结点按逻辑关系依次排列形成一个“锁链”。
③
树形结构
树形结构具有分支、层次特性,其形态有点象自然界中的树。
④
图状结构
图状结构中的结点按逻辑关系互相缠绕,任何两个结点都可以邻接
数据结构的物理结构是指逻辑结构的存储镜像(image)。
‘贰’ 数据的储存结构有哪些
数据的存储结构包括顺序存储和链式存储。
数据元素之间的关系有两种不同的表示方法:顺序映象和非顺序映象,并由此得到两种不同的存储结构:顺序存储结构和链式存储结构。数据的存储结构是指数据的逻辑结构在计算机中的表示。顺序存储方法它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现,由此得到的存储表示称为顺序存储结构。顺序存储结构是一种最基本的存储表示方法,通常借助于程序设计语言中的数组来实现。链接存储方法它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示的。由此得到的存储表示称为链式存储结构,链式存储结构通常借助于程序设计语言中的指针类型来实现。
更多关于数据的储存结构有哪些,进入:https://www.abcgonglue.com/ask/cb58ee1615824374.html?zd查看更多内容
‘叁’ 数据结构的存储方式有哪几种
1.顺序存储方式:顺序存储方式就是在一块连续的存储区域一个接着一个的存放数据。顺序存储方式把逻辑上相邻的节点存储在物理位置撒花姑娘相邻的存储单元里,节点间的逻辑关系由存储单元的邻接关系来体现。顺序存储方式也称为顺序存储结构,一般采用数组或结构数组来描述。
2.链接存储方式:链接存储方式比较灵活,不要求逻辑上相邻的节点在物理位置上相邻,节点间的逻辑关系由附加的引用颤型字段来表示。一个节点的引用字段往往指茄耐猜向下一个节点的存放位置。
3.索引存储方式:索引存储方式是采用附加的索引表的方式来存储节点信息的一种存储方式。索引表由若干索引项组成。
4.散列存储方式:散列存储方式是根据节点的关键字直接计算出该节点的存储地址的一种存储方式。在实际应亩含用中,往往需要根据具体的数据结构来决定采用哪种存储方式。
‘肆’ 14.数据仓库常见的存储优化方法有哪些
存储优化管理的方式包括数据压缩、数据重分布、存储治理项优化、生命周期管理等方法。
数据压缩
在分布式文件系统中,会将数据存储3份,这意味着存储1TB的逻辑数据,实际上会占用3TB的物理空间。使用盘古RAIDfile格式的文件,将存储比从1:3提高至1:1.5。这样做的缺点是数据块损坏时的修复时间比原来更长,读的性能也有损失。数据重分布
由于每个表的数据分布不同,插入顺序不同,导致压缩效果有很大的差异,通过修改表的数据重分布(distributeby,sortby字段)进行数据重分布,能够对表进行优化处理。存储治理项优化:
存储治理项优化是指在元数据的基础上,诊断、加工成多个存储治理优化项。目前已有的存储治理优化项有未管理表、空表、最近62天未访问表、数据无更新无任务表等。生命周期管理策略
根本目的:用最少的存储成本满足最大的业务需求,使数据价值最大化。
a)周期性删除策略:针对无效的历史数据进行定期清理。
b)彻底删除策略:无用表数据或者ETL过程产生的临时数据,以及不需要保留的数据,可以进行及时删除,包括删除元数据。
c)永久保留策略:重要且不可恢复的底层数据和应用数据需要永久保留。
d)极限存储策略:超高压缩重复镜像数据。
e)冷数据管理策略:永久保留策略的扩展。永久保留的数据需要迁移到冷数据中心进行永久保存。一般将重要且不可恢复的、占用存储空间大于100TB,且访问频次较低的数据进行冷备,例如3年以上的日志数据。
‘伍’ 数据结构的存储方式有哪几种
数据结构的存储方式有顺序存储方法、链接存储方法、索引存储方法和散列存储方法这四种。
1、顺序存储方式:顺序存储方式就是在一块连续的存储区域一个接着一个的存放数据,把逻辑上相连的结点存储在物理位置上相邻的存储单元里,结点间的逻辑关系由存储单元的邻接挂安息来体现。顺序存储方式也称为顺序存储结构,一般采用数组或者结构数组来描述。
2、链接存储方法:它比较灵活,其不要求逻辑上相邻的结点在物理位置上相邻,结点间的逻辑关系由附加的引用字段表示。一个结点的引用字段往往指导下一个结点的存放位置。链接存储方式也称为链接式存储结构,一般在原数据项中增加应用类型来表示结点之间的位置关系。
3、索引存储方法:除建立存储结点信息外,还建立附加的索引表来标识结点的地址。它细分为两类:稠密索引:每个结点在索引表中都有一个索引项,索引项的地址指示结点所在的的存储位置;稀疏索引:一组结点在索引表中只对应一个索引项,索引项的地址指示一组结点的起始存储位置。
4、散列存储方法:就是根据结点的关键字直接计算出该结点的存储地址。
(5)松散数据的存储扩展阅读
顺序存储和链接存储的基本原理
在顺序存储中,每个存储空间含有所存元素本身的信息,元素之间的逻辑关系是通过数组下标位置简单计算出来的线性表的顺序存储,若一个元素存储在对应数组中的下标位置为i,则它的前驱元素在对应数组中的下标位置为i-1,它的后继元素在对应数组中的下标位置为i+1。
在链式存储结构中,存储结点不仅含有所存元素本身的信息,还含有元素之间逻辑关系的信息。数据的链式存储结构可用链接表来表示。其中data表示值域,用来存储节点的数值部分。Pl,p2,…,Pill(1n≥1)均为指针域,每个指针域为其对应的后继元素或前驱元素所在结点的存储位置。
在数据的顺序存储中,由于每个元素的存储位置都可以通过简单计算得到,所以访问元素的时间都相同;而在数据的链接存储中,由于每个元素的存储位置保存在它的前驱或后继结点中,所以只有当访问到其前驱结点或后继结点后才能够按指针访问到,访问任一元素的时间与该元素结点在链式存储结构中的位置有关。
‘陆’ 如何实现数据存储的管理
:数据存储备份和存储管理源于上世纪70年代的终端/主机计算模式,当时由于数据集中在主机上,因此,易管理的海量存储设备——磁带库是当时必备的设备。80年代以后,由于PC的发展,尤其是90年代应用最广的客户机/服务器模式的普及以及互联网的迅猛发展,使得存储容量、存储模式和存储要求都发生了根本性的变化,一些新兴的存储技术迅速崛起,为构建一个更安全的信息时代提供了更多的选择。
编者按如何确保所有数据能够得到可靠备份,及时进行灾难恢复是存储管理软件的核心任务。此外存储管理软件还存在以下一些基本功能,诸如改进系统和应用I/O性能及存储管理能力,提高数据和应用系统的高可用性,减少由于各种原因中断数据存取或者应用系统宕机的时间,实现技术有分级存储管理(HSM)、ClusterServer(集群服务器)等。
首先是能提供一些可以识别和分析存储访问模式的VolumeManager工具。VolumeManager通过复杂的磁盘配置能均衡I/O负载,在不影响应用的同时能够优化应用数据的布局。它还可将数据条形散放到多个物理盘上以提高性能,同时还具有在不中断应用的情况下,识别和消除性能瓶颈的能力,从而增强系统和应用的性能。另外,VolumeManager在减少系统中断时间、增加数据完整性等方面也有不俗表现。它允许对磁盘进行在线的管理和更改配置,减少对系统产生极大影响的停机时间,同时利用冗余技术提高数据可用性,防止数据被丢失和破坏。
其次还有一个非常重要的可快速恢复的日志式文件系统FileSystem,它能在不间断数据访问的条件下,对文件作在线备份,并在系统重启或崩溃前允许访问数据并恢复文件,从而大大提高用户和管理员的生产效率。FileSystem在系统崩溃前还能将未完成的数据记录在一个事件日志中,利用恢复程序重现,从而保持了数据的完整性。
VolumeManager和FileSystem都工作在操作系统一级,可实现集群与故障恢复、自动管理、备份与HSM以及基于浏览器的远程管理等。两者有机结合后,利用双方特有的对磁盘和数据的管理能力,能给企业的系统提供尽可能高的性能、可用性及可管理性。
在此基础之上便是整个存储管理的核心任务——备份技术。
数据存储备份技术一般包含硬件技术及软件技术等,硬件技术主要是磁带机技术,软件技术主要是通用和专用备份软件技术等。我们主要从软件技术方面加以讨论。备份软件技术在整个数据存储备份过程中具有相当的重要性,因为它不仅关系到是否支持磁带的各种先进功能,而且在很大程度上决定着备份的效率。最好的备份软件不一定就是操作系统所提供的备份功能,很多厂商都提供了许多专业的备份软件。专业备份软件能通过优化数据传输率,即可以自动以较高的传输率进行数据传输。这不仅能缩短备份时间、提高数据存储备份速度,而且对磁带机设备本身也有好处。另外,专业备份软件还支持新磁带机技术,如HP的TapeAlert技术,差不多所有主流专业备份软件均提供支持。
对于存储模式来说比较常见的有DAS、NAS和SAN等。DAS(DirectAttachedStorage-直接连接存储)是指将存储设备通过SCSI接口或光纤通道直接连接到一台计算机上。当服务器在地理上比较分散、很难通过远程连接进行互连时,直接连接存储是比较好的解决方案。直接连接存储也可帮助企业继续保留已有的传输速率并不很高的网络系统。
网络正成为主要的信息处理模式,需要存储的数据大量增加,数据作为取得竞争优势的战略性资产其重要性在增加,是目前发展的趋势。NAS和SAN的出现正响应了这一点。NAS就是网络连接存储,即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。它的重点在于帮助工作组和部门级机构解决迅速增加存储容量的需求。这种方法从两方面改善了数据的可用性。第一,即使相应的应用服务器不再工作了,仍然可以读出数据。第二,简易服务器本身不会崩溃,因为它避免了引起服务器崩溃的首要原因,即应用软件引起的问题。另外,NAS产品是真正即插即用的产品,其设备的物理位置非常灵活。
SAN(存储区域网络)通过光纤通道连接到一群计算机上。在该网络中提供了多主机连接,但并非通过标准的网络拓扑,并且通过同一物理通道支持广泛使用的SCSI和IP协议。它的结构允许任何服务器连接到任何存储阵列,这样不管数据置放在哪里,服务器都可直接存取所需的数据。SAN解决方案是从基本功能剥离出存储功能,所以运行备份操作就无需考虑它们对网络总体性能的影响。这个方案也使得管理及集中控制实现简化,特别是对于全部存储设备都集群在一起的时候。
集群通常用于加强应用软件的可用性与可扩展性。某些集群架构技术会加入单一系统印象的概念,可从单点以单一系统的方式来管理多台计算机。集群服务器可支持多达上百台互相连接的服务器,结合为松散结合的单位来执行作业,保护彼此的应用软件免于故障。由于集群服务器可完全整合应用软件服务架构,因此可建置高效的应用软件执行环境,即使整个系统出现故障,终端计算机都还可以使用几乎所有的应用软件。集群服务器软件包括引擎、编译器、负载计算器、代理、指令与图形化系统管理接口等组件。集群化运算环境的最大优势是卓越的数据处理能力。原则上,任何类型的多重主机架构存储设备,包括直接连接的磁盘,都可以用来当作集群数据存储设备。为求得最大的系统可用性,最适合使用拥有多重主机存取路径的容错或高可用性存储子系统。
分层次的管理方式可以解决存储容量不断增长导致的如何有效扩充容量的问题。在很多情况下,它更多地用于分布式网络环境中。分级,其实就是意味着用不同的介质来实现存储,如RAID系统、光存储设备、磁带等,每种存储设备都有其不同的物理特性和不同的价格。例如,要备份的时候,备份文件一般存储在速度相对比较慢、容量相对比较大、价格相对比较低的存储设备上如磁带,这样做很经济实用。那么如何实现分级呢?从原理上来讲,分级存储是从在线系统上迁移数据的一种方法。文件由HSM系统选择进行迁移,然后被拷贝到HSM介质上。当文件被正确拷贝后,一个和原文件相同名字的标志文件被创建,但它只占用比原文件小得多的磁盘空间。以后,当用户访问这个标志文件时,HSM系统能将原始文件从正确的介质上恢复过来。分级存储可以有不同的实施方式,HSM根据两级或三级体系将动态迁移/回迁的数据分类,从而实现分级存储。
存储应用的深入必然带来对整体解决方案的需求,这不仅包括硬件,还包括相应的软件以及服务。一个软硬件兼容的融合应用环境是大势所趋。比如,存储虚拟化的提出就证明了这一趋势。因为它有利于提高存储利用率、简化管理和降低成本,构建一个融合的存储应用大环境。总之,随着网络技术的发展、计算机能力的不断提高,数据量也在不断膨胀。数据备份与恢复等存储技术方面的问题显得越来越重要,存储管理技术的发展必将引起业界的高度重视。
相关链接:当前主流的存储介质
磁盘阵列、磁带库
磁盘阵列的最大特点是数据存取速度特别快,其主要功能是可提高网络数据的可用性及存储容量,并将数据有选择性地分布在多个磁盘上,从而提高系统的数据吞吐率。另外,磁盘阵列还能够免除单块硬盘故障所带来的灾难后果,通过把多个较小容量的硬盘连在智能控制器上,可增加存储容量。磁盘阵列是一种高效、快速、易用的网络存储备份设备。
广义的磁带库产品包括自动加载磁带机和磁带库。自动加载磁带机和磁带库实际上是将磁带和磁带机有机结合组成的。自动加载磁带机是一个位于单机中的磁带驱动器和自动磁带更换装置,它可以从装有多盘磁带的磁带匣中拾取磁带并放入驱动器中,或执行相反的过程。自动加载磁带机能够支持例行备份过程,自动为每日的备份工作装载新的磁带。一个拥有工作组服务器的小公司或分理处可以使用自动加载磁带机来自动完成备份工作。
磁带库是像自动加载磁带机一样的基于磁带的备份系统,它能够提供同样的基本自动备份和数据恢复功能,但同时具有更先进的技术特点。它的存储容量可达到数百PB(1PB=100万GB),可以实现连续备份、自动搜索磁带,也可以在驱动管理软件控制下实现智能恢复、实时监控和统计,整个数据存储备份过程完全摆脱了人工干涉。磁带库不仅数据存储量大得多,而且在备份效率和人工占用方面拥有无可比拟的优势。在网络系统中,磁带库通过SAN(存储局域网络)系统可形成网络存储系统,为企业存储提供有力保障,很容易完成远程数据访问、数据存储备份,或通过磁带镜像技术实现多磁带库备份,无疑是数据仓库、ERP等大型网络应用的良好存储设备。
光盘塔、光盘库和光盘网络镜像服务器
光盘不仅存储容量巨大,而且成本低、制作简单、体积小,更重要的是其信息可以保存100年至300年。光盘塔由几台或十几台CD-ROM驱动器并联构成,可通过软件来控制某台光驱的读写操作。光盘塔可以同时支持几十个到几百个用户访问信息。光盘库也叫自动换盘机,它利用机械手从机柜中选出一张光盘送到驱动器进行读写。它的库容量极大,机柜中可放几十片甚至上百片光盘。光盘库的特点是:安装简单、使用方便,并支持几乎所有的常见网络操作系统及各种常用通信协议。
光盘网络镜像服务器不仅具有大型光盘库的超大存储容量,而且还具有与硬盘相同的访问速度,其单位存储成本(分摊到每张光盘上的设备成本)大大低于光盘库和光盘塔,因此光盘网络镜像服务器已开始取代光盘库和光盘塔,逐渐成为光盘网络共享设备中的主流产品。
‘柒’ 数据是如何存储的
转自网友文章: 大型网站数据库优化
千万人同时访问的网站,一般是有很多个数据库同时工作,说明白一点就是数据库集群和并发控制,这样的网站实时性也是相对的。这些网站都有一些共同的特点:数据量大,在线人数多,并发请求多,pageview高,响应速度快。总结了一下各个大网站的架构,主要提高效率及稳定性的几个地方包括:1、程序
程序开发是一方面,系统架构设计(硬件+网络+软件)是另一方面。软件架构方面,做网站首先需要很多web服务器存储静态资源,比如图片、视频、静态页等,千万不要把静态资源和应用服务器放在一起。一个好的程序员写出来的程序会非常简洁、性能很好,一个初级程序员可能会犯很多低级错误,这也是影响网站性能的原因之一。
网站要做到效率高,不光是程序员的事情,数据库优化、程序优化这是必须的,在性能优化上要数据库和程序齐头并进!缓存也是两方面同时入手。第一,数据库缓存和数据库优化,这个由dba完成(而且这个有非常大的潜力可挖,只是由于我们都是程序员而忽略了他而已)。第二,程序上的优化,这个非常的有讲究,比如说重要一点就是要规范SQL语句,少用in 多用or,多用preparestatement,另外避免程序冗余如查找数据少用双重循环等。另外选用优秀的开源框架加以支持,我个人认为中后台的支持是最最重要的,可以选取spring+ibatis。因为ibatis直接操作sql并有缓存机制。spring的好处就不用我多说了,IOC的机制可以避免new对象,这样也节省开销。据我分析,绝大部分的开销就是在NEW的时候和连接数据库时候产生的,请尽量避免。另外可以用一些内存测试工具来做一个demo说明hibernate和ibatis谁更快!前台你想用什么就用什么,struts,webwork都成,如果觉得自己挺牛X可以试试用tapestry。用数据库也未必不能解决访问量巨大所带来的问题,作成静态文件硬盘的寻址时间也未必少于数据库的搜索时间,当然对资料的索引要下一翻工夫。我自己觉得门户往往也就是当天、热门的资料点击率较高,将其做缓存最多也不过1~2G的数据量吧,举个例子:◎ 拿网易新闻来说 http://news.163.com/07/0606/09/3GA0D10N00011229.html
格式化一下,方便理解:http://域名/年/月日/新闻所属分类/新闻ID.html
可以把当天发布的、热门的、流揽量大的作个缓寸,用hashtable(key:年-月-日-分类-ID,value:新闻对象),静态将其放到内存(速度绝对快过硬盘寻址静态页面)。通常是采用oracle存储过程+2个weblogic,更新机制也几乎一样每签发一条新闻,就会生成静态页面,然后发往前端的web服务器,前端的web都是做负载均衡的。另外还有定时的程序,每5-15分钟自动生成一次。在发布新闻的同时将数据缓存。当然缓存也不会越来越大,在个特定的时间段(如凌晨)剔除过期的数据。做一个大的网站远没有想象中那么简单,服务器基本就要百十个的。这样可以大大增加一台计算机的处理速度,如果一台机器处理不了,可以用httpserver集群来解决问题了。2、网络
中国的网络分南北电信和网通,访问的ip就要区分南北进入不同的网络。3、集群通常会使用CDN与GSBL与DNS负载均衡技术,每个地区一组前台服务器群,例如:网易,网络使用了DNS负载均衡技术,每个频道一组前台服务器,一搜使用了DNS负载技术,所有频道共用一组前台服务器集群。网站使用基于Linux集群的负载均衡,失败恢复,包括应用服务器和数据库服务器,基于linux-ha的服务状态检测及高可用化。
应用服务器集群可以采用apache+tomcat集群和weblogic集群等;web服务器集群可以用反向代理,也可以用NAT的方式,或者多域名解析都可以;Squid也可以,方法很多,可以根据情况选择。4、数据库因为是千万人同时访问的网站,所以一般是有很多个数据库同时工作的,说明白一点就是数据库集群和并发控制,数据分布到地理位置不同的数据中心,以免发生断电事故。另外还有一点的是,那些网站的静态化网页并不是真的,而是通过动态网页与静态网页网址交换做出现的假象,这可以用urlrewrite这样的开源网址映射器实现。这样的网站实时性也是相对的,因为在数据库复制数据的时候有一个过程,一般在技术上可以用到hibernate和ecache,但是如果要使网站工作地更好,可以使用EJB和websphere,weblogic这样大型的服务器来支持,并且要用oracle这样的大型数据库。
大型门户网站不建议使用Mysql数据库,除非你对Mysql数据的优化非常熟悉。Mysql数据库服务器的master-slave模式,利用数据库服务器在主从服务器间进行同步,应用只把数据写到主服务器,而读数据时则根据负载选择一台从服务器或者主服务器来读取,将数据按不同策略划分到不同的服务器(组)上,分散数据库压力。
大型网站要用oracle,数据方面操作尽量多用存储过程,绝对提升性能;同时要让DBA对数据库进行优化,优化后的数据库与没优化的有天壤之别;同时还可以扩展分布式数据库,以后这方面的研究会越来越多; 如果我来设计一个海量数据库,可能首先考虑的就是平行扩容性,原因很简单,我没有办法预估将来的数据规模,那我也就没有边界可言,因此,基本上首选dbm类哈希型数据库,甚至,对于实时性要求很高的数据库,可能会自行设计库。 当我们使用业务描述脚本、事务批处理机、目录服务、底层存取来划分一个数据库系统之后,其实,所谓的海量数据需求,也就不是那么难办到了。 嗯,这样还有一个额外的好处,就是由于平行扩容性很好,因此,前期可以以较低成本搭建一个简单的架子,后期根据业务量逐出扩容。这对很多企业来说,就是入门门槛很低,便于操作,且商业风险也小。MySQL比起动辄几十万美金,搭建豪华的Oracle平台,成本低多了。
‘捌’ HBase是什么为什么要使用HBase
HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可以通过web界面对HBase进行管理和查看当前运行的一些状态,非常轻巧。为什么采用HBase?HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式,这样方面读写你的大数据内容。 HBase是介于Map Entry(key & value)和DB Row之间的一种数据存储方式。就点有点类似于现在流行的Memcache,但不仅仅是简单的一个key对应一个 value,你很可能需要存储多个属性的数据结构,但没有传统数据库表中那么多的关联关系,这就是所谓的松散数据。 简单来说,你在HBase中的表创建的可以看做是一张很大的表,而这个表的属性可以根据需求去动态增加,在HBase中没有表与表之间关联查询。你只需要 告诉你的数据存储到Hbase的那个column families 就可以了,不需要指定它的具体类型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事务此类的功 能。 Apache HBase 和Google Bigtable 有非常相似的地方,一个数据行拥有一个可选择的键和任意数量的列。表是疏松的存储的,因此用户可以给行定义各种不同的列,对于这样的功能在大项目中非常实用,可以简化设计和升级的成本。
‘玖’ 浅析云存储系统的几种形式
如果数据是动态的就会被迁移到靠上的存储层,最终保存在某种固态盘(SSD)中。自动分层系统有很多种,其中影响最小也是最安全的使用方式就是将其作为保存动态数据的缓存。特别是,这些系统将帮助云存储迈向主流。
缓存类型的自动分层系统将动态数据从传统机械存储中拷贝到基于高速内存的缓存(RAM或者闪存固态盘)中。在这种拷贝模式中,自动分层系统被用作一个大型的读取缓存,几乎不保留数据的唯一副本。即使当他们通过缓存入站写入的写入加速器,保留唯一数据副本也仅仅需要几分钟的时间。在这些模式下,这些系统可以帮助云存储技术为更主流的存储要求提供服务。
云存储系统也分为几种形式。比较常见的一种是作为NAS存储型的“价值层”,具有极高的成本效益和高度可扩展性。但是这种成本效益和可扩展性通常是以牺牲性能为代价的,使得基于云的存储系统无法被更多地用于主流的存储资源。很多用户和提供商希望能够更广泛地部署云存储,并利用自动分层系统来填补这个空白。
然而,当被用于更主流的用途时,云存储系统将带来一个挑战,那就是他们通常是软件解决方案,有时候采用了提供给用户的通用硬件和磁盘驱动器。这使得成本降低下来,因为数据集被分布到多个类型的存储应健中。现在主要的存储制造商都将精力放在了交付用于他们一级存储平台的自动分层系统上,在提升性能的同时控制住成本。然而一级存储并不常用于云存储部署中,而且主要的存储制造商也都坚持在他们的低端存储系统中提供自动分层系统技术,防止这些性能升级的系统影响到他们的一级存储市场。
自动分层系统解决方案部署就绪之后,所有网络传输都将通过这个系统。自动分层系统设备会对存储传输进行分析,然后根据它的访问特性,将动态数据块保存在高速存储层中——通常是RAM或者SSD,也可能是高速SAS。因为对这些数据的读取操作来自于高速存储区,因此可以快速地交付给用户或者应用。
在基于NAS的云存储中,有很多中应用实例是要求有更高的性能。首先是安装一个比传统NAS成本更低、可扩展性更高的NAS云存储系统;一个内部私有云存储系统。在这种应用实例中,不可避免地需要比云存储系统本身设计交付更高的性能。向云存储前端添加自动分层系统往往可以解决大多数性能问题。
第二个使用实例就是更经典的“云存储提供商”模式。如果一个提供商的某些用户拥有一些突然变得非常动态的数据,那么这些数据就可以被迁移到自动分层系统中。尽管这些数据的大多数请求可能是从一个速度较低的连接访问这些数据,但是1000个用户的访问合起来就可能导致存储方面的瓶颈。
大多数云存储系统是“松散集群的”,这意味着单个节点的性能会成为瓶颈,因为数据并没有像和紧密配对的集群一样被分布到节点中。结果是,如果一个文件被频繁访问,那么每次它只能从一个节点被读取。解决方法就是,将这个文件拷贝到集群中的多个节点,然后改变应用以了解还有谁需要这个文件。除此之外,如果对这个文件的访问频率降低下来,则需要找到这个文件的冗余副本并进行删除。在大多数情况下,最后一个步骤很少发生,这就导致大量的空间浪费。这样就要求存储管理员付出更多额外的管理时间。
另外一个更简便且更有效的解决方案就是添加自动分层系统。系统分层系统会将访问频繁的文件(或者文件片段) 迁移到RAM或者基于固态盘的缓存区中。然后,当文件被频繁访问的时候,系统就会从高速存储区提供这个文件。这种方法不需要对环境进行变动(或者变动有限),当文件被频繁访问的时候可以被识别出来并迁移到高速存储中。然后,随着访问频率降低,文件将被自动迁移到缓存中。因此,存储就变成可自主管理和自主调节的存储。
自动分层系统解决方案通常被用于加速高端NAS。这些系统已经拥有高速磁盘子系统和多个高速网络连接。高端NAS被用于交付机械驱动器所能提供的最佳性能。在更换整个存储阵列之前,自动分层系统往往被作为最后一种解决方法。
另一方面,NAS云存储系统并不一定具有和传统NAS相同的性能水平。正如前面所说,重点往往是成本削减和可扩展性,以牺牲性能为代价。随着云存储环境的扩展——或者随着云存储被更多地用于主流应用中,原始存储性能的欠缺迫使存储经理考虑选择更传统的解决方案。他们可以考虑的选择之一就是不限制存储的自动分层应用。这两种技术的结合将提供更高的性能,同时保持了成本和可扩展性方面的优势。