当前位置:首页 » 存储配置 » 分块存储技术

分块存储技术

发布时间: 2023-06-09 17:37:45

㈠ 什么是云存储技术

云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。

云存储的两个层面

云存储的两个层面是作为云计算支撑的存储计算,主要涉及分布式存储(如分布式文件系统、IPSAN、数据同步、复制)、数据存储(如重复数据删除、数据压缩、数据编码)和数据保护(如RAID、CDP、快照、备份与容灾)等技术领域,如图8-30所示,这在第6章中已有所介绍。和云安全技术一样,云存储技术也需要利用现有的所有存储技术针对云计算三层架构的各个环节采用适当的存储技术,才能取得最佳效果,例如,对应不同需求,有时应该使用数据库技术但有时却应该使用LDAP技术,有些性能要求高的系统不能使用SAN或NAS,需直接使用基于RPC或Socket技术的并发文件系统,有些应用使用SAN成本太高等,这里不再做深入介绍。如图8-31所示是一个采用NetApp FAS、思科 UCS和 VMWare vShpere 4技术打造的存储系统,对上述两种云存储技术和应用都有促进作用。云存储架构

分为两类:一种是通过服务来架构;另一种是通过软件或硬件设备来架构。

传统的系统利用紧耦合对称架构,这种架构的设计旨在解决HPC(高性能计算、超级运算)问题,现在其正在向外扩展成为云存储从而满足快速呈现的市场需求。下一代架构已经采用了松弛耦合非对称架构,集中元数据和控制操作,这种架构并不非常适合高性能HPC,但是这种设计旨在解决云部署的大容量存储需求。各种架构的摘要信息如下:

紧耦合对称(TCS)架构

构建TCS系统是为了解决单一文件性能所面临的挑战,这种挑战限制了传统NAS系统的发展。HPC系统所具有的优势迅速压倒了存储,因为它们需要的单一文件I/O操作要比单一设备的I/O操作多得多。业内对此的回应是创建利用TCS架构的产品,很多节点同时伴随着分布式锁管理(锁定文件不同部分的写操作)和缓存一致性功能。这种解决方案对于单文件吞吐量问题很有效,几个不同行业的很多HPC客户已经采用了这种解决方案。这种解决方案很先进,需要一定程度的技术经验才能安装和使用。

松弛耦合非对称(LCA)架构

LCA系统采用不同的方法来向外扩展。它不是通过执行某个策略来使每个节点知道每个行动所执行的操作,而是利用一个数据路径之外的中央元数据控制服务器。集中控制提供了很多好处,允许进行新层次的扩展:

● 存储节点可以将重点放在提供读写服务的要求上,而不需要来自网络节点的确认信息。

● 节点可以利用不同的商品硬件CPU和存储配置,而且仍然在云存储中发挥作用。

● 用户可以通过利用硬件性能或虚拟化实例来调整云存储。

● 消除节点之间共享的大量状态开销也可以消除用户计算机互联的需要,如光纤通道或infiniband,从而进一步降低成本。

● 异构硬件的混合和匹配使用户能够在需要的时候在当前经济规模的基础上扩大存储,同时还能提供永久的数据可用性。

● 拥有集中元数据意味着,存储节点可以旋转地进行深层次应用程序归档,而且在控制节点上,元数据经常都是可用的。

㈡ REID是什么

你说的REID我实不知是什么。。。。。但是我想你应该是想了解什么是RAID吧!就是磁盘阵列!RAID(是Rendant Array of Independent Disk的缩写)
它是1988年由美国加州大学Berkeley分校的DavidPatterson教授等人提出来的磁盘冗余技术。从那时起,磁盘阵列技术发展得很快,并逐步走向成熟。现在已基本得到公认的有下面八种系列。。。。。
1.RAID0(0级盘阵列)
RAID0又称数据分块,即把数据分布在多个盘上,没有容错措施。其容量和数据传输率是单机容量的N倍,N为构成盘阵列的磁盘机的总数,I/O传输速率高,但平均无故障时间MTTF(MeanTimeToFailure)只有单台磁盘机的N分之一,因此零级盘阵列的可靠性最差。
2.RAID1(1级盘阵列)
RAID1又称镜像(Mirror)盘,采用镜像容错来提高可靠性。即每一个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出。一旦工作盘发生故障立即转入镜像盘,从镜像盘中读出数据,然后由系统再恢复工作盘正确数据。因此这种方式数据可以重构,但工作盘和镜像盘必须保持一一对应关系。这种盘阵列可靠性很高,但其有效容量减小到总容量一半以下。因此RAID1常用于对出错率要求极严的应用场合,如财政、金融等领域。
3.RAID2(2级盘阵列)
RAID2又称位交叉,它采用汉明码作盘错检验,无需在每个扇区之后进行CRC(CyclicReDundancycheck)检验。汉明码是一种(n,k)线性分组码,n为码字的长度,k为数据的位数,r为用于检验的位数,故有:n=2r-1r=n-k
因此按位交叉存取最有利于作汉明码检验。这种盘适于大数据的读写。但冗余信息开销还是太大,阻止了这类盘的广泛应用。
4.RAID3(3级盘阵列)
RAID3为单盘容错并行传输阵列盘。它的特点是将检验盘减小为一个(RAID2校验盘为多个,DAID1检验盘为1比1),数据以位或字节的方式存于各盘(分散记录在组内相同扇区号的各个磁盘机上)。它的优点是整个阵列的带宽可以充分利用,使批量数据传输时间减小;其缺点是每次读写要牵动整个组,每次只能完成一次I/O。
5.RAID4(4级盘阵列)
RAID4是一种可独立地对组内各盘进行读写的阵列。其校验盘也只有一个。
RAID4和RAID3的区别是:RAID3是按位或按字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,它无需象RAID3那样,那怕每一次小I/O操作也要涉及全组,只需涉及组中两台磁盘机(一台数据盘,一台检验盘)即可。从而提高了小量数据的I/O速率。
6.RAID5(5级盘阵列)
RAID5是一种旋转奇偶校验独立存取的阵列。它和RAID1、2、3、4各盘阵列的不同点,是它没有固定的校验盘,而是按某种规则把其冗余的奇偶校验信息均匀地分布在阵列所属的所有磁盘上。于是在同一台磁盘机上既有数据信息也有校验信息。这一改变解决了争用校验盘的问题,因此DAID5内允许在同一组内并发进行多个写操作。所以RAID5即适于大数据量的操作,也适于各种事务处理。它是一种快速,大容量和容错分布合理的磁盘阵列。
7.RAID6(6级盘阵列)
RAID6是一种双维奇偶校验独立存取的磁盘阵列。它的冗余的检、纠错信息均匀分布在所有磁盘上,而数据仍以大小可变的块以交叉方式存于各盘。这类盘阵列可容许双盘出错。
8.RAID7(7级盘阵列)
RAID7是在RAID6的基础上,采用了cache技术,它使得传输率和响应速度都有较大的提高。Cache是一种高速缓冲存储器,即数据在写入磁盘阵列以前,先写入cache中。一般采用cache分块大小和磁盘阵列中数据分块大小相同,即一块cache分块对应一块磁盘分块。在写入时将数据分别写入两个独立的cache,这样即使其中有一个cache出故障,数据也不会丢失。写操作将直接在cache级响应,然后再转到磁盘阵列。数据从cache写到磁盘阵列时,同一磁道的数据将在一次操作中完成,避免了不少块数据多次写的问题,提高了速度。在读出时,主机也是直接从cache中读出,而不是从阵列盘上读取,减少与磁盘读操作次数,这样比较充分地利用了磁盘带宽。
这样cache和磁盘阵列技术的结合,弥补了磁盘阵列的不足(如分块写请求响应差等缺陷),从而使整个系统以高效、快速、大容量、高可靠以及灵活、方便的存储系统提供给用户,从而满足了当前的技术发展的需要,尤其是多媒体系统的需要。
解析磁盘阵列的关键技术
存储技术在计算机技术中受到广泛关注,服务器存储技术更是业界关心的热点。一谈到服务器存储技术,人们几乎立刻与SCSI(Small Computer Systems Interface)技术联系在一起。尽管廉价的IDE硬盘在性能、容量等关键技术指标上已经大大地提高,可以满足甚至超过原有的服务器存储设备的需求。但由于Internet的普及与高速发展,网络服务器的规模也变得越来越大。同时,Internet不仅对网络服务器本身,也对服务器存储技术提出了苛刻要求。无止境的市场需求促使服务器存储技术飞速发展。而磁盘阵列是服务器存储技术中比较成熟的一种,也是在市场上比较多见的大容量外设之一。
在高端,传统的存储模式无论在规模上,还是安全上,或是性能上,都无法满足特殊应用日益膨胀的存储需求。诸如存储局域网(SAN)等新的技术或应用方案不断涌现,新的存储体系结构和解决方案层出不穷,服务器存储技术由直接连接存储(DAS)向存储网络技术(NAS)方面扩展。在中低端,随着硬件技术的不断发展,在强大市场需求的推动下,本地化的、基于直接连接的磁盘阵列存储技术,在速度、性能、存储能力等方面不断地迈上新台阶。并且,为了满足用户对存储数据的安全、存取速度和超大的存储容量的需求,磁盘阵列存储技术也从讲求技术创新、重视系统优化,以技术方案为主导的技术推动期逐渐进入了强调工业标准、着眼市场规模,以成熟产品为主导的产品普及期。
回顾磁盘阵列的发展历程,一直和SCSI技术的发展紧密关联,一些厂商推出的专有技术,如IBM的SSA(Serial Storage Architecture)技术等,由于兼容性和升级能力不尽如人意,在市场上的影响都远不及SCSI技术广泛。由于SCSI技术兼容性好,市场需求旺盛,使得SCSI技术发展很快。从最原始5MB/s传输速度的SCSI-1,一直发展到现在LVD接口的160MB/s传输速度的Ultra 160 SCSI,320MB/s传输速度的Ultra 320 SCSI接口也将在2001年出现(见表1)。从当前市场看,Ultra 3 SCSI技术和RAID(Rendant Array of Inexpensive Disks)技术还应是磁盘阵列存储的主流技术。
SCSI技术
SCSI本身是为小型机(区别于微机而言)定制的存储接口,SCSI协议的Version 1 版本也仅规定了5MB/s传输速度的SCSI-1的总线类型、接口定义、电缆规格等技术标准。随着技术的发展,SCSI协议的Version 2版本作了较大修订,遵循SCSI-2协议的16位数据带宽,高主频的SCSI存储设备陆续出现并成为市场的主流产品,也使得SCSI技术牢牢地占据了服务器的存储市场。SCSI-3协议则增加了能满足特殊设备协议所需要的命令集,使得SCSI协议既适应传统的并行传输设备,又能适应最新出现的一些串行设备的通讯需要,如光纤通道协议(FCP)、串行存储协议(SSP)、串行总线协议等。渐渐地,“小型机”的概念开始弱化,“高性能计算机”和“服务器”的概念在人们的心目中得到强化,SCSI一度成为用户从硬件上来区分“服务器”和PC机的一种标准。
通常情况下,用户对SCSI总线的关心放在硬件上,不同的SCSI的工作模式意味着有不同的最大传输速度。如40MB/s的Ultra SCSI、160MB/s的Ultra 3 SCSI等等。但最大传输速度并不代表设备正常工作时所能达到的平均访问速度,也不意味着不同SCSI工作模式之间的访问速度存在着必然的“倍数”关系。SCSI控制器的实际访问速度与SCSI硬盘型号、技术参数,以及传输电缆长度、抗干扰能力等因素关系密切。提高SCSI总线效率必须关注SCSI设备端的配置和传输线缆的规范和质量。可以看出,Ultra 3模式下获得的实际访问速度还不到Ultra Wide模式下实际访问速度的2倍。
一般说来,选用高速的SCSI硬盘、适当增加SCSI通道上连接硬盘数、优化应用对磁盘数据的访问方式等,可以大幅度提高SCSI总线的实际传输速度。尤其需要说明的是,在同样条件下,不同的磁盘访问方式下获得的SCSI总线实际传输速度可以相差几十倍,对应用的优化是获得高速存储访问时必须关注的重点,而这却常常被一些用户所忽视。按4KB数据块随机访问6块SCSI硬盘时,SCSI总线的实际访问速度为2.74MB/s,SCSI总线的工作效率仅为总线带宽的1.7%;在完全不变的条件下,按256KB的数据块对硬盘进行顺序读写,SCSI总线的实际访问速度为141.2MB/s,SCSI总线的工作效率高达总线带宽的88%。
随着传输速度的提高,信号传输过程中的信号衰减和干扰问题显得越来越突出,终结器在一定程度上可以起到降低信号波反射,改善信号质量的作用。同时,LVD(Low-Voltage Differential)技术的应用也越来越多。LVD工作模式是和SE(Single-Ended)模式相对应的,它可以很好地抵抗传输干扰,延长信号的传输距离。同时,Ultra 2 SCSI和Ultra 3 SCSI模式也通过采用专用的双绞型SCSI电缆来提高信号传输的质量。
在磁盘阵列的概念中,大容量硬盘并不是指单个硬盘容量大,而是指将单个硬盘通过RAID技术,按RAID 级别组合成更大容量的硬盘。所以在磁盘阵列技术中,RAID技术是比较关键的,同时,根据所选用的RAID级别的不同,得到的“大硬盘”的功能也有不同。
RAID是一项非常成熟的技术,但由于其价格比较昂贵,配置也不方便,缺少相对专业的技术人员,所以应用并不十分普及。据统计,全世界75%的服务器系统目前没有配置RAID。由于服务器存储需求对数据安全性、扩展性等方面的要求越来越高,RAID市场的开发潜力巨大。RAID技术是一种工业标准,各厂商对RAID级别的定义也不尽相同。目前对RAID级别的定义可以获得业界广泛认同的只有4种,RAID 0、RAID 1、RAID 0+1和RAID 5。
RAID 0是无数据冗余的存储空间条带化,具有低成本、极高读写性能、高存储空间利用率的RAID级别,适用于Video / Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用。但由于没有数据冗余,其安全性大大降低,构成阵列的任何一块硬盘损坏都将带来数据灾难性的损失。所以,在RAID 0中配置4块以上的硬盘,对于一般应用来说是不明智的。
RAID 1是两块硬盘数据完全镜像,安全性好,技术简单,管理方便,读写性能均好。但其无法扩展(单块硬盘容量),数据空间浪费大,严格意义上说,不应称之为“阵列”。
RAID 0+1综合了RAID 0和RAID 1的特点,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像。它的读写性能出色,安全性高,但构建阵列的成本投入大,数据空间利用率低,不能称之为经济高效的方案。
RAID 5是目前应用最广泛的RAID技术。各块独立硬盘进行条带化分割,相同的条带区进行奇偶校验(异或运算),校验数据平均分布在每块硬盘上。以n块硬盘构建的RAID 5阵列可以有n-1块硬盘的容量,存储空间利用率非常高(见图6)。任何一块硬盘上数据丢失,均可以通过校验数据推算出来。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是1块硬盘出现故障以后,整个系统的性能大大降低。
对于RAID 1、RAID 0+1、RAID 5阵列,配合热插拔(也称热可替换)技术,可以实现数据的在线恢复,即当RAID阵列中的任何一块硬盘损坏时,不需要用户关机或停止应用服务,就可以更换故障硬盘,修复系统,恢复数据,对实现HA(High Availability)高可用系统具有重要意义。
各厂商还在不断推出各种RAID级别和标准。例如更高安全性的,从RAID控制器开始镜像的RAID;更快读写速度的,为构成RAID的每块硬盘配置CPU和Cache的RAID等等,但都不普及。用IDE硬盘构建RAID的技术是新出现的一个技术方向,对市场影响也较大,其突出优点就是构建RAID阵列非常廉价。目前IDE RAID可以支持RAID 0、RAID 1和RAID 0+1三个级别,最多支持4块IDE硬盘。由于受IDE设备扩展性的限制,同时,也由于IDE设备也缺乏热可替换的技术支持的原因,IDE RAID的应用还不多。
总之,发展是永恒的主题,在服务器存储技术领域也不例外。一方面,一些巨头厂商尝试推出新的概念或标准,来领导服务器及存储技术的发展方向,较有代表性的如Intel力推的IA-64架构及存储概念;另一方面,致力于存储的专业厂商以现有技术和工业标准为基础,推动SCSI、RAID、Fibre Channel等基于现有存储技术和方案快速更新和发展。在市场经济条件下,检验技术发展的唯一标准是市场的认同。市场呼唤好的技术,而新的技术必须起到推动市场向前发展作用时才能被广泛接受和承认。随着高性能计算机市场的发展,高性能比、高可靠性、高安全性的存储新技术也会不断涌现。
现在市场上的磁盘阵列产品有很多,用户在选择磁盘阵列产品的过程中,也要根据自己的需求来进行选择,现在列举几个磁盘阵列产品,同时也为需要磁盘阵列产品的用户提供一些选择。表2列出了几种磁盘阵列的主要技术指标。

㈢ 服务器百问百答:服务器的磁盘阵列技术是什么

RAID磁盘阵列介绍

RAID,为Rendant Arrays of Independent Disks的简称,中文为廉价冗余磁盘阵列。在1987年由美国柏克莱大学提出
RAID(Rendant Arrayof Inexpensive Disks)理论,作为高性能的存储系统,巳经得到了越来越广泛的应用。RAID的级别
从RAID概念的提出到现在,巳经发展了多个级别,有明确标准级别分别是0、1、2、3、4、5等。但是最常用的是0、1、3、5四
个级别。其他还有6、7、10、30、50等。RAID为使用者降低了成本、增加了执行效率,并提供了系统运行的稳定性。

RAID 磁盘阵列简单的码神解释,就是将多台硬盘透过RAID Controller(分Hardware,Software )结合成虚拟单台大容量的硬
盘使用,其特色是多台硬盘同时读取速度加快及提供容错性Fault Tolerant,所以RAID是当成平时主要访问Dat
a的Storage不是Backup Solution。

在RAID磁盘阵列有一基本概念称为EDAP ( Extended Data Availability and Protection ) ,其强调扩充性及容错机制
, 也是各家厂商如: Mylex,IBM,HP,Compaq,Adaptec, Infortrend等诉求的重点,包括在不须停机情况下可处理 以下动
作:
RAID 磁盘阵列支持自动检测故障硬盘。
RAID 磁盘阵列支持重建硬盘坏轨的资料。
RAID 磁盘阵列支持不须停机的硬盘备援 Hot Spare。
RAID 磁盘阵列支持不须停机的硬盘替换 Hot Swap。
RAID 磁盘阵列支持扩充硬盘容量等。

该站正在升级中渗模拦,不便之处请谅解
RAID磁盘阵列级别
NRAID:
硬盘连续使用。NRAID意思是不使用RAID功能。它使用硬盘的总容量组成逻辑碟(不使用条块读写)。换句话说,它
生成的逻辑碟容量就是物理碟容量的总和。此外,NRAID不提供资料的备余。
JBOD:
JBOD的含意是控制器将机器上每颗硬盘都当作单独的硬盘处理,因此每颗硬盘都被当作单颗独立的逻辑碟使用。此
外,JBOD并不提供资料备余的功能。
RAID0:RAID0 - Disk Stripping without parity (常用)
又称数据分块,即把数据分成若干相等大小的小块,并把它们写到阵列上不同的硬盘上,这种技术又称“Stripping”
(即将数据条带化),这种把数据分布在多个盘上,在读写时是以并行的方式对各硬盘同时进行操作。从理论上讲,其容量和
数据传输率是单个硬盘的N倍。N为构成RAID0的硬盘总数。当然,若阵列控制器有多个硬盘通道时,对多个通道上的硬盘进行
RAID0操作,I/O性能会更高。因此常用于图象,视频等领域,RAID0 I/O传输率较高,但平均故障时间MTTF只有单盘的N分之
一,因此RAID0可靠性最差。
RAID1:RAID 1 - Disk Mirroring(较常用)
又称镜像。即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时只从工作盘读出,一旦工作盘
发生故障立即转入镜像盘,从镜像盘中读出数据。当更换故障盘后,数据可以重构,恢复工作盘正确数据,这种阵列可靠性很
高,但其有效容量减小到总容量一半以下,因此RAID1常用于对容错要求极严的应用场合,如财政、金融等领域。
RAID (0+1):
结合了RAID0和RAID 1 —条块化读写的同时使用镜像操作。RAID (0+1)允许多个硬盘损坏,因为它完全使用硬盘
来实现资料备余。如果有超过两个硬盘做RAID 1,系统会自动实现RAID (0+1)。
RAID2:
又称位交叉,它采用汉明码作盘错校验,采用按位交叉存取,运用于大数据的读写,但冗余信息开销太大(校验盘为
多个),已被淘汰。
RAID3:RAID 3 - Parallel Disk Array
为单盘容错并行传输。即采用Stripping技术将数据分块,对这些块进行异或校验,校验数据写到最后一个硬盘上。它
的特点是有一个盘为校验盘,数据以位或字节的方式存于各盘(分散记录在组内相同扇区的各个硬盘上)。当一个硬盘发生故
障,除故障盘外,写操作将继续对数据盘和校验盘进行操作。而读操作是通过对丛胡剩余数据盘和校验盘的异或计算重构故障盘上
应有的数据来进行的。RAID3的优点是并行I/O传输和单盘容错,具有很高可靠性。缺点:每次读写要牵动整个组,每次只能完
成一次I/O。
RAID4:
与RAID3相似,区别是:RAID3是按位或字节交叉存取,而RAID4是按块(扇区)存取,可以单独地对某个盘进行操作,
无须像RAID3那样,哪怕每一次小I/O操作也要涉及全组,只需涉及组中两块硬盘(一块数据盘,一块校验盘)即可,从而提高
了小量数据I/O速度。缺点:对于随机分散的小数据量I/O,固定的校验盘又成为I/O瓶颈,例如:事务处理。作两个很小的写
操作,一个写在drive2的stripe1 上,一个写在drive3的stripe2上,它们都要往校验盘上写,所以发生争用校验盘的问题。
RAID5:RAID 5 - Striping with floating parity drive(最常用)
是一种旋转奇偶校验独立存取的阵列方式,它与RAID3,RAID4不同的是没有固定的校验盘,而是按某种规则把奇偶校
验信息均匀地分布在阵列所属的硬盘上,所以在每块硬盘上,既有数据信息也有校验信息。这一改变解决了争用校验盘的问
题,使得在同一组内并发进行多个写操作。所以RAID5即适用于大数据量的操作,也适用于各种事务处理,它是一种快速、大
容量和容错分布合理的磁盘阵列。当有N块阵列盘时,用户空间为N-1块盘容量。 RAID3、RAID5中,在一块硬盘发生故障后,
RAID组从ONLINE变为DEGRADED方式,但I/O读写不受影响,直到故障盘恢复。但如果DEGRADED状态下,又有第二块盘故障,整
个RAID组的数据将丢失。

㈣ 海量空间数据存储

(一)空间数据存储技术

随着地理信息系统的发展,空间数据库技术也得到了很大的发展,并出现了很多新的空间数据库技术(黄钊等,2003),其中应用最广的就是用关系数据库管理系统(RDBMS)来管理空间数据。

用关系数据库管理系统来管理空间数据,主要解决存储在关系数据库中的空间数据与应用程序之间的数据接口问题,即空间数据库引擎(SpatialDatabase Engine)(熊丽华等,2004)。更确切地说,空间数据库技术是解决空间数据对象中几何属性在关系数据库中的存取问题,其主要任务是:

(1)用关系数据库存储管理空间数据;

(2)从数据库中读取空间数据,并转换为GIS应用程序能够接收和使用的格式;

(3)将GIS应用程序中的空间数据导入数据库,交给关系数据库管理。

空间数据库中数据存储主要有三种模式:拓扑关系数据存储模式、Oracle Spatial模式和ArcSDE模式。拓扑关系数据存储模式将空间数据存在文件中,而将属性数据存在数据库系统中,二者以一个关键字相连。这样分离存储的方式由于存在数据的管理和维护困难、数据访问速度慢、多用户数据并发共享冲突等问题而不适用于大型空间数据库的建设。而OracleSpatial实际上只是在原来的数据库模型上进行了空间数据模型的扩展,实现的是“点、线、面”等简单要素的存储和检索,所以它并不能存储数据之间复杂的拓扑关系,也不能建立一个空间几何网络。ArcSDE解决了这些问题,并利用空间索引机制来提高查询速度,利用长事务和版本机制来实现多用户同时操纵同一类型数据,利用特殊的表结构来实现空间数据和属性数据的无缝集成等(熊丽华等,2004)。

ArcSDE是ESRI公司开发的一个中间件产品,所谓中间件是一个软件,它允许应用元素通过网络连接进行互操作,屏蔽其下的通讯协议、系统结构、操作系统、数据库和其他应用服务。中间件位于客户机/服务器的操作系统之上,管理计算资源和网络通讯,并营造出一个相对稳定的高层应用环境,使开发人员可以集中精力于系统的上层开发,而不用过多考虑系统分布式环境下的移植性和通讯能力。因此,中间件能无缝地连入应用开发环境中,应用程序可以很容易地定位和共享中间件提供的应用逻辑和数据,易于系统集成。在分布式的网络环境下,客户端的应用程序如果要访问网络上某个服务器的信息,而服务器可能运行在不同于客户端的操作系统和数据库系统中。此时,客户机的应用程序中负责寻找数据的部分只需要访问一个数据访问中间件,由该中间件完成网络中数据或服务的查找,然后将查找的信息返回给客户端(万定生等,2003)。因此,本系统实现空间数据库存储的基本思想就是利用ArcSDE实现各类空间数据的存储。

目前,空间数据存储技术已比较成熟,出现了许多类似ArcSDE功能的中间件产品,这些软件基本上都能实现空间数据的数据库存储与管理,但对于海量空间数据的存储,各种软件性能差别较大。随着数据量的增长,计算机在分析处理上会产生很多问题,比如数据不可能一次完全被读入计算机的内存中进行处理。单纯依赖于硬件技术,并不能满足持续增长的数据的处理要求。因此需要在软件上找到处理海量数据的策略,并最终通过软硬件的结合完成对海量数据的处理。在海量数据存储问题上,许多专家从不同侧面进行过研究,Lindstrom在地形简化中使用了外存模型(Out-of-core)技术;钟正采用了基于数据分块、动态调用的策略;汪国平等人在研究使用高速网络进行三维海量地形数据的实时交互浏览中,采用了分块、多分辨率模板建立模型等方法。这些技术、方法已经在各自系统上进行了研究和实现。本系统采用的ArcSDE软件基本上也是采用分块模型的方法,具体存储和操作不需要用户过多了解,已经由ArcSDE软件实现。因此,对海量数据的存储管理,更需要从数据的组织方式等方面进行设计。塔里木河流域生态环境动态监测系统采集了大量的遥感影像、正射影像等栅格结构的数据,这些数据具有很大的数据量,为适应流域空间基础设施的管理需要,采取一种新的方式来管理、分发这些海量数据以适应各部门的快速浏览和管理需要。

(二)影像金字塔结构

影像数据库的组织是影像数据库效率的关键,为了获得高效率的存取速度,在数据的组织上使用了金字塔数据结构和网格分块数据结构。该技术主导思想如下:

(1)将数据库中使用到的纹理处理成为大小一致的纹理块;

(2)为每块纹理生成5个细节等级的纹理,分别为0、1、2、3、4,其中1级纹理通过0级纹理1/4压缩得到,2级纹理通过1级纹理1/4压缩得到,…,以此类推;

(3)在显示每个块数据之前,根据显示比例的大小,并以此决定该使用那一级的纹理;

(4)在内存中建立纹理缓冲池,使用LRU算法进行纹理块的调度,确保使用频率高的纹理调度次数尽可能少。

(三)影像数据压缩

影像数据压缩有无损压缩和有损压缩两个方法,具体采取哪种压缩方法需根据具体情况确定。对于像元值很重要的数据,如分类数据、分析数据等采用无损压缩(即LZ77算法),否则采用有损压缩(即JPEG算法)。通过对影像数据的压缩,一方面可以节约存储空间,另一方面可以加快影像的读取和显示速度。影像数据的压缩一般与构建金字塔同时进行,在构建影像金字塔过程中自动完成数据的压缩。

㈤ 网络操作系统与网络结构

网络操作系统与网络结构

操作系统概述

单机操作系统l作为计算机和用户之间的接口,是为用户提供计算机资源的手段;由一些程序模块组成,管理和控制计算机系统中的硬件及软件资源;

合理地组织计算机工作流程,以便有效地利用这些资源为用户提供一个功能强、使用方便的工作环境;

只为本地用户服务,不能满足网络环境的要求;网络操作系统l网络操作系统l屏蔽本地资源与网络资源的差异;

作为网络用户和计算机网络的接口;

管理计算机的硬件和软件资源,如网卡、网络打印机、大容量外存等;

为用户提供文件共享、打印共享等各种网络服务;

完成网络的共享资源管理、网络的安全管理;

网络操作系统的定义:“利用局域网底层所提供的数据传输功能,为网络用户提供局域网共享资源管理服务和其他网络服务功能的局域网系统软件”;网络操作系统的特征 l与硬件无关l广域网连接l支持多客户端和多用户l网络管理l系统容错l安全性和存取控制网络操作系统的服务功能l文件服务l打印服务l数据库服务l通信服务

信息服务

目录服务

网络管理服务Internet/Intranet服务网络系统的结构及相关概念

计算机网络有两种基本的网络结构类型:对等网络;基于服务器的网络;

从资源的分配和管理的角度来看,对等网络和基于服务器的网络最大的差异就在于共享网络资源是分散到网络的所有计算机上,还是使用集中的网络服务器。

l对等网络采用分散管理的结构;基于服务器的网络采用集中管理的结构。对等网络 l网络上的计算机平等地进行通信。每一台计算机都负责提供自己的资源(文件、目录、应用程序、打印机、调制解调器或传真卡等),供网络上的其他计算机使用。

每一台计算机还负责维护自己资源的安全性。

对等网络的优点 l对等网络的结构简单,网络中对硬件的需求比较低。由于对等网络中的资源被分布到许多计算机中,因此不需要高端服务器,节省了网络成本。针对网络用户较少的网络,对等网络很容易安装和管理。

每一台机器都可以对本机的资源进行管理,如设置网络上其他用户可以访问的本地资源,以及设置访问密码等。管理网络的工作人员被分配给每台计算机的用户。

对等网络并不需要使用网络操作系统,只要每台计算机安装有支持对等连网功能的操作系统,就可以实现对等网络。

支持对等网络的操作系统有Windows 95/98、Windows NT Workstation/2000 Professional等。

对等网络的缺点

用户计算机的性能会受影响

网络的安全性无法保证

备份困难基于服务器的网络

使用一台高性能的计算机(服务器)用于存储共享资源,并向用户计算机分发文件和信息。

网络资源由服务器集中管理,服务器控制数据、打印机以及客户机需要访问的其他资源,当客户机或工作站需要使用共享资源时,可以向服务器发出请求,要求服务器提供服务。基于服务器网络的优点

易于实现资源的管理和备份l具有良好的安全性

l具有较好的性能l可靠性较高网络服务器的种类 l

文件服务器l文件服务器主要提供共享的硬盘来存储数据和应用程序,以便向客户机分发这些资源。当一台客户机需要使用文件服务器上的资源时,客户机首先将所需的文件复制到客户机本地,然后再对这些资源进行处理。在服务器上,不进行应用程序的处理,所有任务都在客户机本地进行。

应用服务器l在客户机和应用服务器上都运行有应用程序。客户机运行本地的程序,向服务器发出服务请求,要求服务器对某个数据进行处理,而服务器会将处理后的信息返送给客户机。通过这种方法,客户机几乎不处理信息,所有任务都由服务器处理。

数据库服务器: 其他类型的服务器;

邮件服务器。

邮件服务器专为处理客户机的电子邮件需要而建立,为客户机提供发送和接收电子邮件的环境。Web服务器Web服务器广泛应用于Internet和Intranet,用户通过客户机上的浏览器应用程序,浏览Web服务器上的信息。

通信服务器

通信服务器为处理远程用户拨号入网而建立。为安全起见,通信服务器应用程序通常放置在单独的服务器上。

视频服务器l视频服务器可以提供视频点播业务,同时支持多个视频流的单播或广播。服务器技术

多处理器技术

总线能力

内存

磁盘接口技术

容错技术

磁盘阵列技术

热插拨技术

双机热备份

服务器状态监视多处理器技术

l中央处理器(CPU)是决定服务器性能好坏的重要因素之一。虽然服务器对其他组件的性能要求也很高,但处理器对于决定服务器的性能仍然是很重要的。服务器可以使用一个处理器或多个处理器运行l多处理器技术的类型l非对称多处理器AMP;

对称多处理器SMP;

对多处理器的选择l根据使用的网络操作系统;l根据服务器所完成的功能;lCPU的种类Intel、AMD、Cyrix等总线和内存l服务器需要内部的高速总线来完成各种任务。l总线是计算机系统中的数据传送的“主干线路”,CPU、内存和其他的设备组件都连接到总线上。在某一时刻,服务器可能将大量的数据从磁盘传送到网卡、处理器、系统内存,并在处理完数据后将其传送回磁盘。

内存分为三种l非奇偶校验RAMl奇偶校验RAMl带有错误检查和更正(ECC)的RAM 磁盘接口技术 l计算机系统基本上采用两种硬盘接口,即EIDE(Enhanced Integrated Drive Electronics)和SCSI(Small Computer Systems Interface)。

SCSI系列标准:

SCSI-1

SCSI-1是最基本的SCSI技术规范,它使用8位的数据带宽,以大约5Mbps的速度将数据读出或写入硬盘。由于SCSI技术的不断发展,使得SCSI-1基本上不再使用了。

SCSI-2

SCSI-2扩展了SCSI技术规范,而且向SCSI添加了许多特性,还允许更快的SCSI连接。另外,SCSI-2 大大提高了不同SCSI设备制造商之间的SCSI兼容性。lFAST-SCSIlFAST-SCSI使用了基本的SCSI-2技术规范,将SCSI总线的数据传输速度从5Mbps增加到10Mbps。FAST-SCSI也被称为“Fast NARROW-SCSI”。磁盘接口技术lSCSI系列标准lWIDE-SCSIlWIDE-SCSI也是基于SCSI-2的技术,WIDE-SCSI将SCSI-2从8位增加到16位或32位的数据带宽。使用16位的WIDE-SCSI最高可以达到20Mbps。

Ultra-SCSIlUltra-SCSI也被称为“SCSI-3”,它将SCSI总线的数据传输速度增加到20Mbps。使用8位的总线时,Ultra-SCSI可以达到20Mbps的速度。使用16位总线时,速度可以提高到40Mbps。

Ultra2-SCSI

Ultra2-SCSI是SCSI标准的另一个发展,Ultra2-SCSI 使Ultra-SCSI 性能再次提高。Ultra2-SCSI 系统使用16位的总线,速度可达到80Mbps。

Ultra3-SCSIlUltra3-SCSI使得Ultra2-SCSI 的性能再一次提高,达到了160Mbps的速度。SCSI系列标准l容错是指在硬件或软件出现故障时,仍能完成处理和运算,不降低系统性能,即用冗余的资源使计算机具有容忍故障的能力,容错技术可分为:

软件容错 采用多处理器和具有容错功能的操作系统来实现容错。

硬件容错 由于硬件成本不断下降,而软件成本不断升高,因此硬件容错技术的应用越来越普遍。

硬件容错系统应具有的特性为:

使用双总线体系结构,确保系统的某一部分发生故障时仍能运行,不降低系统性能;l冗余CPU、内存、通信子系统、磁盘、电源等,确保这些关键部件的可靠性;

自动故障检测,以及故障部件的隔离和更换。磁盘阵列技术

磁盘阵列(Disk Array)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,以减少错误,提高效率和可靠性的技术。

lRAID(Rendant Array of Inexpensive Disks)表示的是廉价磁盘冗余阵列,是磁盘阵列技术标准,RAID采用冗余的硬盘来对信息进行冗余保存,从而提高磁盘系统的可靠性。如果某个硬盘发生故障,则可以通过保存在其他硬盘上的冗余信息恢复故障硬盘的信息。 RAID技术1.RAID 0 oRAID 0采用数据分割技术,将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘进行读写操作;oRAID 0阵列将数据分成多个数据块,并将数据分块分布在两个或更多的硬盘上。 oRAID 0阵列中的一个驱动器出错将会导致所有硬盘上的数据全部丢失,因此可靠性最差。 RAID技术2.RAID 1 oRAID 1不采用将数据分块存储在多个硬盘上的方法,而是采用磁盘镜像技术。o使用两个硬盘,并且将一个硬盘的内容同步复制到另一个硬盘上。如果其中一个硬盘出现故障,另一个硬盘将继续正常工作。 oRAID 1的可靠性较高,但硬盘的使用效率较低。 RAID技术3.RAID 3oRAID 3采用数据交错存储技术。RAID 3在多个数据磁盘上分块分布数据,然后对各个数据磁盘上存储的所有数据使用异或操作,以产生一个校验数据(ECC数据),并将这个数据存储到一个校验硬盘(ECC硬盘)。如果其中一个存储数据的硬盘发生故障,导致数据出错或丢失,那么RAID 3先读出其余硬盘上的数据,再读出ECC硬盘上的校验数据,就可以恢复出错或丢失的数据。 RAID技术4.RAID 5oRAID 5对RAID3技术进行了改进,除了保持分块存储数据的功能外,RAID 5将校验数据存放在所有的硬盘中。oRAID 5的优点是不必依赖一个ECC驱动器来进行所有写操作,所有硬盘都共享ECC工作,因此RAlD 5的性能要比RAID 3稍高一些,如果任何一个硬盘出现故障,可以将其替换,且数据也能够恢复。oRAID5能够将三至三十二个硬盘组合到一个阵列中。其他服务器技术

热插拨技术

大多数服务器都支持热插拨技术的组件(热插拨硬盘、热插拨电源和热插拨风扇等),它们可以在系统保持运行的同时被替换。l双机热备份l

双机热备份是指在系统使用两台或多台服务器,其中一台主用,另外一台备用,而且这些服务器都处于正常运行状态,如果主用服务器发生故障,则可自动启动备用服务器。

服务器状态监视 l大多数服务器可以监视内部组件,并预先发出可能会出现问题的警告。高端的服务器通常可以监视以下情况:

风扇的转动、系统电压、内存错误、磁盘错误、内部温度、机箱被打开等。典型的网络操作系统

早期的网络操作系统具有简单的文件服务和某些安全性特性。随着用户要求的增加,现代网络操作系统提供了更为广泛的服务。

目前,常用的网络操作系统有:Novell 公司的NetWare;

Microsoft的Windows NT/2000;l带有网络功能的UNIX。

Windows NT和Windows 2000

1983年11月,Microsoft第一个Windows产品——Windows 1.0;l1987年12月,Windows 2.0,其在技术上已有了明显的进步,允许同时执行多个程序,利用微处理器中的保护模式,突破了DOS中的640KB内存的限制 ;l1990年5月,Windows 3.0,对Windows 2.0进行了改进;

1992年5月,工作组网络Windows for Workgroup 3.1;Windows NT和Windows 2000l1993年5月,Windows NT 3.1,与DOS脱离,采用了很多新技术,但对硬件资源要求较高; l1994年9月,Windows NT 3.5,对NT 3.1进行了改进,降低了对硬件资源的要求,增加了与UNIX和NetWare等的连接和集成;

1996年7月,Windows NT 4.0,在性能、易用性与可管理性以及支持Internet/Intranet方面,有了重大的改进;

2000年,Windows 2000,适用于个人和企业对操作系统的各种需要;

2001年,Window XP。Windows NT的特性 l体系结构的独立性;

多处理器支持;

多线程的多任务;

大量的内存空间;

集中化的用户环境文件;

远程访问服务;

基于域和工作组的管理功能;

容错与多驱动器阵列(RAID)支持;Windows 2000 产品系列 lWindows 2000 ProfessionallWindows 2000 Professional是Microsoft在Windows NT Workstation 4.0基础上发展起来的客户端的操作系统,不仅继承了NT Workstation 4.0的稳定性和可靠性等优点,而且还拥有了更好的用户界面、支持即插即用、管理起来也更加方便,而且具有更高级别的安全性和更好的性能。Windows 2000产品系列lWindows 2000 Serverl用来支持文件和打印、应用程序、Web以及通信服务功能的多任务操作系统。

提供可扩展、基于Internet标准、与操作系统紧密结合的活动目录服务,方便了网络资源的管理和查找。

提供了Web和Internet服务,为客户在商业上采用Web技术提供了便利条件,它能适应从简单的Web站点到Web应用及视频点播等流媒体服务的各种需要。l支持4GB的物理内存和两路SMP对称多处理系统,并包含了活动目录、COM+、公共密钥设施、智能镜像(ntellimirror)和Terminal服务等特性,它适合于中小型规模企业作为应用分发、Web服务器、工作组和分支办公室的服务器操作系统。Windows 2000产品系列lWindows 2000 Advanced Serverl部门和应用服务器,比Windows 2000 Server提供了更多的网络功能和Internet服务;支持四路SMP和64GB物理内存;

集成了可伸缩集群服务,是数据库应用、高可用集群和为大型系统和应用的可伸缩性提供负载平衡服务的理想平台。Windows 2000 Server产品系列lWindows 2000 Datacenter ServerlDatacenter Server是功能性最强的服务器操作系统。l支持16路SMP和64GB的物理内存。lWindows 2000 Datacenter Server提供了集群和负载平衡服务两个基本特征服务,适合于大规模数据仓库、计量经济学分析、大规模科学和工程计算、事务处理、大规模的ISP等应用。 NetWare操作系统 lNetWare操作系统的发展起源于1981年,Novell公司首次提出了LAN文件服务器的概念;

1983年,基于Motorola MC68000 (操作系统为CP/M)的网络操作系统Novell SHARE-NET。 1984年, NetWare 1.0,以MS-DOS为环境的网络操作系统。

1985年,Advanced NetWare 1.X,增加了多任务处理功能,完善了低层协议,并支持基于不同网卡的结点互连;

1986年,Advanced NetWare 2.0,扩充了虚拟内存工作方式,并且内存寻址突破640KB;NetWare操作系统

1987年, NetWare 2.1,在Netware文件服务器增加了系统容错机制(SFT),包括热修复、磁盘镜像和磁盘双工等特性;

1990年, NetWare 3.1,在网络整体性能、系统的可靠性、网络管理 和应用开发平台等方面予以增强;

1993年, NetWare 4.0,在3.11的基础上,增加了目录服务和磁盘文件压缩功能,具有良好的可靠性、易用性、可缩放性和灵活性。

1998年9月,NetWare 5,更大程度地支持并加强了Internet/Intranet以及数据库的应用与服务。

NetWare操作系统的结构 lIPX(Internet Packet eXchange)作为网络层的分组交换协议,提供分组寻址和选择路由功能,但不保证可靠到达,相当于数据报功能。IPX是Netware结构中关键部分,是工作站和文件服务器相互通信的协议,是较高层SPX和NetBIOS的基础。lSPX(Sequenced Packet eXchange)是NetWare的运输层协议,它与TCP/IP协议组中的TCP协议类似,以面向连接的通信方式工作,向上提供简单却功能很强的服务。它可以保证信息流按序、可靠地传送。NetWare操作系统的结构 oNetWare核心协议NCP(NetWare Core Protocol)在用户发送请求给服务器的远端文件服务过程中执行。文件服务过程所产生的相应信息送回给用户。在NCP的基础上形成了文件和网络所有的服务。利用这些服务,可以构成各种功能的应用程序。NCP支持使用虚电路和数据报两种网络应用接入接口。oNCP的主要功能是:服务连接维护、目录维护、文件维护、数据访问同步、保密库维护、网络维护、打印维护、软件拷贝保护、计费服务和队列管理服务。

Netware的特点

具有多任务、多用户的功能,工作站软件所占内存较小,支持多种局域网硬件,保护了已有硬件投资;NetWare使用开放性协议技术OPT(Open Protocol Technology),允许各种协议的结合,使各类工作站可与公共服务器通信;NetWare高效的硬盘存取管理技术消除了服务器的瓶颈。Netware文件服务器具有五种安全性措施:注册口令、受托者权、目录权、文件属性和文件服务器安全性。这些安全性措施可以单独使用,也可以混合使用。Netware的系统容错技术

三级容错l第一级针对硬盘表面介质出故障而设计,采用双重目录、文件夹、磁盘热修复等;

第二级针对硬盘故障而设计,采用硬盘镜像方法;

第三级提供文件服务器镜像的功能;

UNIX操作系统

UNIX不是网络操作系统,但由于它能支持通信功能,并提供一些大型服务器的操作系统的功能,因此也可把它作为网络操作系统;

在20世纪80年代,UNIX是用于小型计算机的操作系统,以替代一些专用操作系统。在这些系统中,UNIX作为一种多用户操作系统运行,应用软件和数据集中在一起,经过不断的发展,UNIX已成为可移植的操作系统,能运行在范围广阔的各种计算机上,包括大型主机和巨型计算机,从而大大扩大了应用范围。 UNIX操作系统的结构
UNIX内核

UNIX内核的功能是完成底层与硬件相关的功能,控制着计算机的资源,并且将这些资源分配给正在计算机上运行的应用程序。

ShelllShell的作用是解释来自用户和应用的命令,使计算机资源的管理更加容易和高效。Shell程序与用户进行交互,使用户能够运行程序、拷贝文件、登录或退出系统以及完成一些其它的任务。Shell程序可以显示简单的命令行提示光标,或者显示一个有图标与窗口的图形用户界面(X-Windows)。Shell程序与在UNIX上运行的应用程序一起利用内核提供的服务,对文件与外围设备进行管理。由于Shell程序与硬件无关,因此更容易移植,UNIX可具有多种 Shell。o实用程序与应用n实用程序处于Shell的外层,提供了大部分的可执行程序,而用户的应用程序在实用程序之上。严格来讲,实用程序和应用程序是属于同一性质的,但实用程序大多是为了帮助操作系统执行作业以及帮助程序员开发软件。由于UNIX具有很多的实用程序,使UNIX实际上成为和硬件独立的操作系统,适用于开发范围甚广的各种应用。UNIX操作系统的结构 UNIX操作系统的功能特性

UNIX是一个多用户、多任务操作系统;

UNIX具有良好的用户界面;

UNIX的设备独立性;l具有很好的可移植性;l可以直接支持网络功能;l可靠的系统安全。关于Linux操作系统

UNIX操作系统一个很大的缺点就是UNIX价格昂贵,Linux是一个自由软件,它对各厂家的UNIX造成了巨大的冲击。

Linux是一套免费使用和自由传播的类UNIX操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的UNIX兼容产品。

㈥ 360安全云盘

现在的360企业云盘是改名叫做360安全云盘了,它主要是为企业用户提供云文件管理服务,所以在安全性方面比关闭了的360云盘是有了提高,数据安全更加有保障。360企业云盘是采用分块加密存储技术来保障数据的安全,但是我更倾向于亿方云企业网盘,它除了分块加密,还是碎片化存储,文件在存储过程中打碎成数以万计的碎片分别存储到不同的云服务器里,更不容易被泄露。

㈦ 一个文件如何被分块存储在磁盘上

数据存储在硬盘的时候都以簇位单位簇的配置Windows9x/Me系统中常用的文件簇通常为FAT16或者FAT32格式比如一个256M的硬盘空间可以有数种配置簇的方式:簇大小=4KB:256MB/4KB=655356个簇簇大小=8KB:256MB/8KB=32768个簇簇大小=16KB:256MB/16KB=16384个簇簇大小=32KB:256MB/32KB=8192个簇对于WindowsNT/2000/XP特有的NTFS文件系统来说,虽然也是采用簇方式来存储数据,但它却和FAT16/FAT32有着明显的不同。当分区空间大于2GB的时候,无论硬盘有多大,簇的大小一律维持在4KB。由于簇容量小,所以无论存储何种类型的文件都不会浪费太多的硬盘空间,这也使得整个硬盘的空间利用率得到了极大的提高。

㈧ 什么是数据库分表技术

1 基本思想之什么是分库分表?
从字面上简单理解,就是把原本存储于一个库的数据分块存储到多个库上,把原本存储于一个表的数据分块存储到多个表上。
2 基本思想之为什么要分库分表?

数据库中的数据量不一定是可控的,在未进行分库分表的情况下,随着时间和业务的发展,库中的表会越来越多,表中的数据量也会越来越大,相应地,数据操作,增删改查的开销也会越来越大;另外,由于无法进行分布式式部署,而一台服务器的资源(CPU、磁盘、内存、IO等)是有限的,最终数据库所能承载的数据量、数据处理能力都将遭遇瓶颈。
3 分库分表的实施策略。

分库分表有垂直切分和水平切分两种。
3.1 何谓垂直切分,即将表按照功能模块、关系密切程度划分出来,部署到不同的库上。例如,我们会建立定义数据库workDB、商品数据库payDB、用户数据库userDB、日志数据库logDB等,分别用于存储项目数据定义表、商品定义表、用户数据表、日志数据表等。
3.2 何谓水平切分,当一个表中的数据量过大时,我们可以把该表的数据按照某种规则,例如userID散列,进行划分,然后存储到多个结构相同的表,和不同的库上。例如,我们的userDB中的用户数据表中,每一个表的数据量都很大,就可以把userDB切分为结构相同的多个userDB:part0DB、part1DB等,再将userDB上的用户数据表userTable,切分为很多userTable:userTable0、userTable1等,然后将这些表按照一定的规则存储到多个userDB上。
3.3 应该使用哪一种方式来实施数据库分库分表,这要看数据库中数据量的瓶颈所在,并综合项目的业务类型进行考虑。
如果数据库是因为表太多而造成海量数据,并且项目的各项业务逻辑划分清晰、低耦合,那么规则简单明了、容易实施的垂直切分必是首选。
而如果数据库中的表并不多,但单表的数据量很大、或数据热度很高,这种情况之下就应该选择水平切分,水平切分比垂直切分要复杂一些,它将原本逻辑上属于一体的数据进行了物理分割,除了在分割时要对分割的粒度做好评估,考虑数据平均和负载平均,后期也将对项目人员及应用程序产生额外的数据管理负担。
在现实项目中,往往是这两种情况兼而有之,这就需要做出权衡,甚至既需要垂直切分,又需要水平切分。我们的游戏项目便综合使用了垂直与水平切分,我们首先对数据库进行垂直切分,然后,再针对一部分表,通常是用户数据表,进行水平切分。
4 分库分表存在的问题。

4.1 事务问题。
在执行分库分表之后,由于数据存储到了不同的库上,数据库事务管理出现了困难。如果依赖数据库本身的分布式事务管理功能去执行事务,将付出高昂的性能代价;如果由应用程序去协助控制,形成程序逻辑上的事务,又会造成编程方面的负担。
4.2 跨库跨表的join问题。
在执行了分库分表之后,难以避免会将原本逻辑关联性很强的数据划分到不同的表、不同的库上,这时,表的关联操作将受到限制,我们无法join位于不同分库的表,也无法join分表粒度不同的表,结果原本一次查询能够完成的业务,可能需要多次查询才能完成。
4.3 额外的数据管理负担和数据运算压力。
额外的数据管理负担,最显而易见的就是数据的定位问题和数据的增删改查的重复执行问题,这些都可以通过应用程序解决,但必然引起额外的逻辑运算,例如,对于一个记录用户成绩的用户数据表userTable,业务要求查出成绩最好的100位,在进行分表之前,只需一个order by语句就可以搞定,但是在进行分表之后,将需要n个order by语句,分别查出每一个分表的前100名用户数据,然后再对这些数据进行合并计算,才能得出结果。
上述整理于互联网

热点内容
如何配置2柠檬酸 发布:2025-02-06 00:57:26 浏览:434
积木源码 发布:2025-02-06 00:55:26 浏览:545
变分的运算法则 发布:2025-02-06 00:55:21 浏览:775
x2哪个配置性价比高 发布:2025-02-06 00:40:12 浏览:109
猪哥亮访问张菲 发布:2025-02-06 00:37:52 浏览:570
期货账户怎么改密码 发布:2025-02-06 00:32:35 浏览:279
qq自动上传群文件 发布:2025-02-06 00:26:25 浏览:111
安卓照片放在什么地方 发布:2025-02-06 00:26:24 浏览:988
linux系统镜像iso 发布:2025-02-06 00:15:39 浏览:188
存储上料模块的意义 发布:2025-02-06 00:14:14 浏览:125