服务器数据库系列 - 程序员不能不懂数据存储

1281人阅读 评论(0) 收藏 举报
分类:
    从个人电脑到互联网时代的数据存储是如何演进的,原理是怎样的,了解了这些,有利于程序员更好的优化性能,系统架构,本文意在讨论这个话题。

一、硬盘


          一般情况下的电脑,主要存储设备是内存和硬盘,内存是带电存储,硬盘是持久化存储,内存的访问速度比硬盘快。应用软件或者信息化项目,在运行期间,所用到的数据有一部分运行在内存中,访问速度快;有一部分存储在硬盘上,用到的时候,才去访问,访问的效率由硬盘的性能决定。

          当然,CPU和硬盘也带有缓存。但这些缓存的访问速度都比硬盘速度快,所以应用软件或者信息化项目,不考虑其他因素,其运行效率瓶颈在于硬盘的性能。在过去10年里,CPU、内存、显卡等PC配件一直在高速发展,性能早已翻了几倍甚至几十倍。但硬盘是例外的,除了容量的大幅度提升外,传输速度没有质的飞跃,无论接口怎么变,从当初ATA 66/100/133,到SATA 1.5Gb/s还是目前的SATA 3.0Gb/s,硬盘速度提升并不是很明显,因此硬盘早已成为PC系统的性能瓶颈。  

           当然,硬盘发展缓慢的原因与客观因素有关,目前大多数硬盘还是采用机械结构,转速是影响硬盘速度的重要因素,由于成本限制,目前只有服务器上用15000RPM的硬盘,民用级的还是10年前推出的7200RPM,这样注定硬盘速度不能有革命性的提升。后来又发展出了固态硬盘

          硬盘按照接口划分为下面几种,下面是几种常见的硬盘性能对比及介绍

               

         1、IDE 硬盘

          IDE的英文全称为“IntegratedDrive Electronics”,即“电子集成驱动器”,它的本意是指把“硬盘控制器”与“盘体”集成在一起的硬盘驱动器。把盘体与控制器集成在一起的做法减少了硬盘接口的电缆数目与长度,数据传输的可靠性得到了增强,硬盘制造起来变得更容易,因为硬盘生产厂商不需要再担心自己的硬盘是否与其它厂商生产的控制器兼容。对用户而言,硬盘安装起来也更为方便。IDE这一接口技术从诞生至今就一直在不断发展,性能也不断的提高,其拥有的价格低廉、兼容性强的特点,为其造就了其它类型硬盘无法替代的地位。

          IDE代表着硬盘的一种类型,但在实际的应用中,人们也习惯用IDE来称呼最早出现IDE类型硬盘ATA-1,这种类型的接口随着接口技术的发展已经被淘汰了,而其后发展分支出更多类型的硬盘接口,比如ATA、UltraATA、DMA、Ultra DMA等接口都属于IDE硬盘。              

         2、SATA 接口硬盘

          SATA是SerialATA的缩写,即串行ATA。这是一种完全不同于并行ATA的新型硬盘接口类型,由于采用串行方式传输数据而得名。SATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。   

         3、SCSI 接口硬盘

          SCSI的英文全称为“SmallComputer System Interface”(小型计算机系统接口),是同IDE(ATA)完全不同的接口,IDE接口是普通PC的标准接口,而SCSI并不是专门为硬盘设计的接口,是一种广泛应用于小型机上的高速数据传输技术。SCSI接口具有应用范围广、多任务、带宽大、CPU占用率低,以及热插拔等优点,但较高的价格使得它很难如IDE硬盘般普及,因此SCSI硬盘主要应用于中、高端服务器和高档工作站中。

  

         4、光纤通道

          光纤通道的英文拼写是Fibre Channel,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。光纤通道硬盘是为提高多硬盘存储系统的速度和灵活性才开发的,它的出现大大提高了多硬盘系统的通信速度。光纤通道的主要特性有:热插拔性、高速带宽、远程连接、连接设备数量大等,但价格昂贵,一般用于高端服务器。

         

         5、SAS接口硬盘

          SAS(Serial Attached SCSI)是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采用串行技术以获得更高的传输速度,并通过缩短连结线改善内部空间等。SAS是并行SCSI接口之后开发出的全新接口。此接口的设计是为了改善存储系统的效能、可用性和扩充性,提供与串行ATA(Serial ATA,缩写为SATA)硬盘的兼容性. SAS的接口技术可以向下兼容SATA.

         

         6、固态硬盘

          SSD(Solid State Disk) 固态硬盘,和传统机械硬盘采用的磁盘体、磁头、马达等机械零件不同,固态硬盘是由控制芯片和存储芯片(FLASH芯片或DRAM芯片)组成,简单来说,固态硬盘和我们熟悉的闪存盘、闪存卡较为相似。相比于传统的机械硬盘,固态硬盘有很多优点,如速度快、防震、体积小、零噪音等。

         

二、磁盘阵列

         当一块硬盘的容量和安全、备份等不能满足要求时,就需要有更新的技术出现。如何增加磁盘的存取(access)速度,如何防止数据因磁盘的故障而失落及如何有效的利用磁盘空间,而大容量磁盘的价格非常昂贵。磁盘阵列技术的产生一举解决了这些问题。

         

          RAID: (Redundant Array of Inexpensive Disk廉价冗余磁盘阵列)

      是一种磁盘集群技术, 很早以前就开始使用在大型系统之中.用户可以自由定义数据的保存方式, 可以采用数据镜像(在不同磁盘上保存数据拷贝), 条带集(数据交叉保存在多个磁盘上), 还有奇偶校验保护(记录额外的数据以识别错误), 这些技术可以根据用户对性能和可靠性的要求单独或联合使用.

         

         1、架构

          基于不同的架构,RAID 又可以分为:        软件RAID (软件 RAID)        硬件RAID (硬件 RAID)        外置RAID (External RAID)  

        ·软件RAID

          很多情况下已经包含在系统之中,并成为其中一个功能,如微软的Windows NT/2000 Server/Server 2003和NetVoll的NetWare两种操作系统都可以提供软件阵列功能,其中Windows NT/2000 Server/Server 2003可以提供RAID 0、RAID 1、RAID 5;NetWare操作系统可以实现RAID 1功能。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低,有的降代还比较大,达30%左右。软件RAID中的所有操作皆由中央处理器负责,所以系统资源的利用率会很高,从而使系统性能降低。软件RAID是不需要另外添加任何硬件设备,因为它是靠你的系统——主要是中央处理器的功能——提供所有现成的资源。 

        ·硬件RAID

          通常是一张PCI卡,你会看到在这卡上会有处理器及内存。因为这卡上的处理器已经可以提供一切RAID所需要的资源,所以不会占用系统资源,从而令系统的表现可以大大提升。硬件RAID可以连接内置硬盘、热插拔背板或外置存储设备。无论连接何种硬盘,控制权都是在RAID卡上,亦即是由系统所操控。在系统里,硬件RAID PCI卡通常都需要安驱动程序,否则系统会拒绝支持。 

        ·外置式RAID

          也是属于硬件RAID的一种,区别在于RAID卡不会安装在系统里,而是安装在外置的存储设备内。而这个外置的储存设备则会连接到系统的SCSI卡上。系统没有任何的RAID功能,因为它只有一张SCSI卡;所有的RAID功能将会移到这个外置存储里。好处是外置的存储往往可以连接更多的硬盘,不会受系统机箱的大小所影响。而一些高级的技术,如双机容错,是需要多个服务器外连到一个外置储存上,以提供容错能力。

         2、RAID0(带区集)

                  

          RAID0是Data Striping(数据分割)技术的实现,它将所有硬盘构成一个磁盘阵列,可以同时对多个硬盘做读写动作,但是不具        备备份及容错能力,它价格便宜,硬盘使用效率最佳,但是可靠度是最差的。 

          以一个由三个硬盘组成的RAID0磁盘阵列为例,它把数据的第1和2位写入第一个硬盘,第三和第四位写入第二个硬盘……以此类推,所以叫“数据分割",因为各盘数据的写入动作是同时做的,所以它的存储速度可以比单个硬盘快几倍。 

          但是,这样一来,万一磁盘阵列上有一个硬盘坏了,由于它把数据拆开分别存到了不同的硬盘上,坏了一颗等于中断了数据的完整性,如果没有整个磁盘阵列的备份磁带的话,所有的数据是无法挽回的。因此,尽管它的效率很高,但是很少有人冒着数据丢失的危险采用这项技术。

          一般用在对数据安全要求不高,但对速度要求很高的场合,如:大型游戏、图形图像编辑等。此种RAID模式至少需要2个磁盘,而更多的磁盘则能提供更高效的数据传输。

         3、RAID1(镜像)

         

          RAID1使用的是Disk Mirror(磁盘映射)技术,就是把一个硬盘的内容同步备份复制到另一个硬盘里,所以具备了备份和容错能力,这样做的使用效率不高,但是可靠性高。每一个磁盘都有一个镜像磁盘,镜像磁盘随时保持与原磁盘的内容一致。RAID1具有最高的安全性,但只有一半的磁盘空间被用来存储数据。主要用在对数据安全性要求很高,而且要求能够快速恢复被损坏的数据的场合。此种RAID模式每组仅需要2个磁盘。

         4、RAID3(带专用校验驱动器的带区集)

         

          RAID 3采用Byte-interleaving(数据交错存储)技术,硬盘在SCSI控制卡下同时动作,并将用于奇偶校验的数据储存到特定硬盘机中,它具备了容错能力,它的可靠度较佳。

         5、RAID5(带分布校验位的带区集)

                 

         RAID 5使用的是Disk Striping(硬盘分割)技术,与RAID 3的不同之处在于它把奇偶校验数据存放到各个硬盘里,各个硬盘在SCSI控制卡的控制下平行动作,有容错能力。

         6、RAID10

         

          RAID0+1(也称RAID10)阵列中一半的驱动器采取RAID0的结构,可以并行传送来提高数据传输率。另一半则是前面提到的镜象磁盘,即是RAID1。这样可以有很高的可靠性。

三、网络存储

当一个机房无法容纳更多的存储设备,有了异地存储等需要时,就出现了网络存储技术。

         1、DAS

           DAS(Direct Attached Storage):即“直接连接存储”

           DAS是指将存储设备通过SCSI线缆或光纤通道直接连接到服务器上。优点-操作维护简便,价格低廉;DAS方式实现了机内存储到存储子系统的跨越,但是缺点依然有很多:
           1、扩展性差,服务器与存储设备直接连接的方式导致出现新的应用需求时,只能为新增的服务器单独配置存储设备,造成重复投资。
           2、浪费资源,DAS方式的存储长期来看存储空间无法充分利用,存在浪费。不同的应用服务器面对的存储数据量是不一致的,同时业务发展的状况也决定这存储数据量的变化。因此,出现了部分应用对应的存储空间不够用,另一些却有大量的存储空间闲置。
           3、管理分散,DAS方式数据依然是分散的,不同的应用各有一套存储设备。管理分散,无法集中。
           4、异构化严重,DAS方式使得企业在不同阶段采购了不同型号不同厂商的存储设备,设备之间异构化现象严重,导致维护成本据高不下。

         2、NAS

           NAS:(Network Attached Storage):即“网络连接存储”

           NAS即将存储设备通过标准的网络拓扑结构(例如以太网),连接到一群计算机上。NAS实际上是一种应用服务器, 其内部集成了处理器和磁盘设备,有自己专用的操作系统和网络文件系统,可以直接连入TCP/IP的网络, 透过TCP/IP协议向其他的计算机提供文件共享服务。

           NAS的优点:
           1、NAS可以即插即用。
           2、NAS通过TCP/IP网络连接到应用服务器,因此可以基于已有的企业网络方便连接。
           3、专用的操作系统支持不同的文件系统,提供不同操作系统的文件共享。

           NAS缺点:

           1、NAS设备与客户机通过企业网进行连接,因此数据备份或存储过程中会占用网络的带宽。这必然会影响企业内部网络上的其他网络应用;共用网络带宽成为限制NAS性能的主要问题。
           2、NAS的可扩展性受到设备大小的限制。增加另一台NAS设备非常容易,但是要想将两个NAS设备的存储空间无缝合并并不容易,因为NAS设备通常具有独特的网络标识符,存储空间的扩大上有限。
           3、NAS访问需要经过文件系统格式转换,所以是以文件一级来访问。不适和Block级的应用,尤其是要求使用裸设备的数据库系统。

         3、SAN

           SAN:(Storage Area Network):即“存储区域网”                 

           

           SAN, 在最纯粹的意义上, 是一个专门用于数据传输的单独的计算机网络,FC SAN 特点是基于光纤通道技术(Fibre Channel)的电缆, 交换机和集线器,  将很多的存储设备连接起来,再与有很多不同的服务器组成的网络相连接, 以多点对多点的方式进行管理。

           利用光纤通道技术,SAN可以在存储和服务器之间传输海量数据块,SAN提供了数据备份的有效方式。SAN克服了传统上与SCSI相连的线缆限制,极大地拓展了服务器和存储之间的距离,SAN也带来了开放性和高扩展性也使SAN网络可以方便的加入存储设备和服务器。因此,传统上用于数据备份的网络带宽可以节约下来用于其他应用。

           它又分为IP-SAN和FC-SAN两种:

           IP-SAN适用环境:异地间的数据交换及容灾,备份,非关键应用的集中存储。

           FC-SAN适用环境:关键应用的集中存储、备份及容灾。

          

四、云存储服务

         作为云时代的IT基础架构,云中的存储资源应该是可以无限扩展的,而且可以随时按需获取,可以被理解成是一种按需提供的服务。这样企业不需要自己组建存储网络,规避了成本和技术问题;按需使用云存储,不需要时,停止租借,避免了浪费。目前国内已经有很多,云存储提供商,这里不再详细介绍。


转载请注明出处:http://blog.csdn.net/shuaihj/article/details/17092627

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:964912次
    • 积分:12204
    • 等级:
    • 排名:第1267名
    • 原创:275篇
    • 转载:148篇
    • 译文:0篇
    • 评论:235条
    博客专栏