中企动力 > 商学院 > 云计算数据存储技术
  • ?

    云计算时代,大数据存储与备份迫在眉睫

    烛霄

    展开

    随着互联网信息技术的发展,如今的社会和人际圈已然成为一个信息化的圈子,而基于这些信息和技术所建立起来的信息系统正改变着人们的工作和生活方式,至今,大数据已经逐渐开始形成。

    大数据存储备份

    然而凡事都有两面性,云时代大数据的到来给我们的工作生活带来了无数的方便,可与之对应的是信息和网络安全的脆弱性。根据美国FBI统计,每年因为信息和网络安全问题所造成的损失高达75亿美元,并且还在上升。而数据作为信息的表达形式,它的完整性与安全性问题就成了系统安全的重要问题。以美国为首的发达国家都非常重视数据备份技术,而且将其充分的利用起来,以NETAPP公司为首的一些数据备份恢复公司,将美国的大部分企业都进行了数据安全保护,服务器的连接已经达到60%之多,可是反观国内,只有15%,甚至更低的服务器连有设备,这也就意味着,85%以上的服务器中的数据,随时都有着被窃取和破坏的危险。

    大数据的脆弱性

    这里再普及一下,很多人都把双机热备份、磁盘阵列备份以及磁盘镜像等备份硬件备份和数据存储备份相提并论,实际上所有的硬件备份都不能代替数据存储备份。大家要知道的是,拷贝不等于系统备份,因为系统的重要信息无法用拷贝的方法备份下来,而硬件备份对于人为的错误操作,便导致数据丢失。甚至严重的话,如果有电源故障、自然灾害的情况、病毒侵袭等,引起的后果不堪设想,所有的系统瘫痪,设备无法正常运行,所有的数据都会在一瞬间丢失。

    大数据的灾备

    关于灾备,有一份来自IDC的统计数据显示,1990-2000年发生灾难导致数据丢失的公司,能够生存下来的只有16%,美国明尼苏达大学研究报告显示,发生数据丢失的公司如果无法快速恢复数据,75%的公司业务将会停顿,45%的公司将倒闭破产。

    所以说数据存储和备份是非常有必须要的,而数据的存储和备份往往也离不开软件系统和硬件的相辅相成。据爱科赛尔大数据负责人赵利林讲到:“目前国内主流的就是磁盘阵列一体机,小空间、大容量、低能耗,每个磁盘阵列的最大容量高达96TB,工业平均使用寿命长达180年,数据传输速率达12GBPS。”同时为了实现大数据的增量备份与恢复,系统可配置备份服务器地址和备份时间的间隔,并可在任意时刻输入备份命令开始进行备份,同时在指定的时间间隔进行快速增量备份,数据块备份过程中能够通过重复数据删除减少网络传输,支持对任意版本的数据快速恢复。

    随着大数据技术的发展以及应用需求的不断扩展和变大,大数据灾备的方案也会越来越多和完善。只有在企业有了充分的数据重要性认知的情况下,我们的数据存储和备份才会发挥到淋漓尽致。

  • ?

    这五种技术构成了云计算的核心技术体系,最后一种最重要!

    解问蕊

    展开

    云计算作为一种基于互联网的计算方式,是一种技术的综合应用构成方式,必然要运用众多相关的技术,下面这五种技术构成了云计算的核心技术体系,在云计算中发挥着非常重要的作用。

    一.虚拟化技术

    作为一种资源管理技术,虚拟化技术指的是将实体资源以抽象的形式展现出来并得以应用的技术。

    二.数据存储技术

    所谓“数据存储技术”即数据以特定的格式在计算机内部或外部存储介质上被记录下来过程中所运用的技术。

    在云计算运行体系中,采用的是分布式存储的数据存储技术,这是由云计算的服务应用决定的。

    三.平台管理技术

    在这里,平台管理技术是针对云计算而言的,是对云计算的运行、存储和服务平台进行有效管理的技术。

    在云计算系统中,这一技术的完善和高效应用是平台管理过程中的巨大挑战。

    四.数据管理技术

    云计算是一个大型的有关于资源和服务提供的计算系统,这决定了其在系统运行过程中有着非常高效的数据管理。

    五.编程模型

    在云计算体系中,可以说,编程模型的应用是其得以构建和完善的前提条件。

    在云计算体系构建中选用得当且严格的编程模型,将极大地规范和简化云计算的工作环境。

    云计算的五大核心技术了解了么?欢迎持续关注!

  • ?

    阿里5年的程序员解读云计算8项核心技术解读,大家看看是不是正确

    易真

    展开

    云计算的“横空出世”让很多人将其视为一项全新的技术,但事实上它的雏形已出现多年,只是最近几年才开始取得相对较快的发展。确切地说,云计算是大规模分布式计算技术及其配套商业模式演进的产物,它的发展主要有赖于虚拟化、分布式数据存储、数据管理、编程模式、信息安全等各项技术、产品的共同发展。近些年来,托管、后向收费、按需交付等商业模式的演进也加速了云计算市场的转折。云计算不仅改变了信息提供的方式,也颠覆了传统ICT系统的交付模式。与其说云计算是技术的创新,不如说云计算是思维和商业模式的转变。

    下面详细谈一谈云计算的核心技术。

    云计算是一种以数据和处理能力为中心的密集型计算模式,它融合了多项ICT技术,是传统技术“平滑演进”的产物。其中以虚拟化技术、分布式数据存储技术、编程模型、大规模数据管理技术、分布式资源管理、信息安全、云计算平台管理技术、绿色节能技术最为关键。

    1、虚拟化技术

    虚拟化是云计算最重要的核心技术之一,它为云计算服务提供基础架构层面的支撑,是ICT服务快速走向云计算的最主要驱动力。可以说,没有虚拟化技术也就没有云计算服务的落地与成功。随着云计算应用的持续升温,业内对虚拟化技术的重视也提到了一个新的高度。与此同时,我们的调查发现,很多人对云计算和虚拟化的认识都存在误区,认为云计算就是虚拟化。事实上并非如此,虚拟化是云计算的重要组成部分但不是全部。

    从技术上讲,虚拟化是一种在软件中仿真计算机硬件,以虚拟资源为用户提供服务的计算形式。旨在合理调配计算机资源,使其更高效地提供服务。它把应用系统各硬件间的物理划分打破,从而实现架构的动态化,实现物理资源的集中管理和使用。虚拟化的最大好处是增强系统的弹性和灵活性,降低成本、改进服务、提高资源利用效率。

    从表现形式上看,虚拟化又分两种应用模式。一是将一台性能强大的服务器虚拟成多个独立的小服务器,服务不同的用户。二是将多个服务器虚拟成一个强大的服务器,完成特定的功能。这两种模式的核心都是统一管理,动态分配资源,提高资源利用率。在云计算中,这两种模式都有比较多的应用。

    2、分布式数据存储技术

    云计算的另一大优势就是能够快速、高效地处理海量数据。在数据爆炸的今天,这一点至关重要。为了保证数据的高可靠性,云计算通常会采用分布式存储技术,将数据存储在不同的物理设备中。这种模式不仅摆脱了硬件设备的限制,同时扩展性更好,能够快速响应用户需求的变化。

    分布式存储与传统的网络存储并不完全一样,传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

    在当前的云计算领域,Google的GFS和Hadoop开发的开源系统HDFS是比较流行的两种云计算分布式存储系统。

    GFS(Google File System)技术:谷歌的非开源的GFS(GoogleFile System) 云计算平台满足大量用户的需求,并行地为大量用户提供服务。使得云计算的数据存储技术具有了高吞吐率和高传输率的特点。

    HDFS(Hadoop Distributed File System)技术:大部分ICT厂商,包括Yahoo、Intel的“云”计划采用的都是HDFS的数据存储技术。未来的发展将集中在超大规模的数据存储、数据加密和安全性保证、以及继续提高I/O速率等方面。

    3、编程模式

    从本质上讲,云计算是一个多用户、多任务、支持并发处理的系统。高效、简捷、快速是其核心理念,它旨在通过网络把强大的服务器计算资源方便地分发到终端用户手中,同时保证低成本和良好的用户体验。在这个过程中,编程模式的选择至关重要。云计算项目中分布式并行编程模式将被广泛采用。

    分布式并行编程模式创立的初衷是更高效地利用软、硬件资源,让用户更快速、更简单地使用应用或服务。在分布式并行编程模式中,后台复杂的任务处理和资源调度对于用户来说是透明的,这样用户体验能够大大提升。MapReduce是当前云计算主流并行编程模式之一。MapReduce模式将任务自动分成多个子任务,通过Map和Reduce两步实现任务在大规模计算节点中的高度与分配。

    MapReduce是Google开发的java、Python、C++编程模型,主要用于大规模数据集(大于1TB)的并行运算。 MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

    4、大规模数据管理

    处理海量数据是云计算的一大优势。那么如何处理则涉及到很多层面的东西,因此高效的数据处理技术也是云计算不可或缺的核心技术之一。对于云计算来说,数据管理面临巨大的挑战。云计算不仅要保证数据的存储和访问,还要能够对海量数据进行特定的检索和分析。由于云计算需要对海量的分布式数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。

    Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase是业界比较典型的大规模数据管理技术。

    BT(BigTable)数据管理技术:BigTable是非关系的数据库,是一个分布式的、持久化存储的多维度排序Map.BigTable建立在 GFS, Scheduler, Lock Service和MapReduce之上,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。 Bigtable的设计目的是可靠的处理PB级别的数据,并且能够部署到上千台机器上。

    开源数据管理模块HBase:HBase是Apache的Hadoop项目的子项目,定位于分布式、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。作为高可靠性分布式存储系统,HBase在性能和可伸缩方面都有比较好的表现。利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

    5、分布式资源管理

    云计算采用了分布式存储技术存储数据,那么自然要引入分布式资源管理技术。在多节点的并发执行环境中,各个节点的状态需要同步,并且在单个节点出现故障时,系统需要有效的机制保证其它节点不受影响。而分布式资源管理系统恰是这样的技术,它是保证系统状态的关键。

    另外,云计算系统所处理的资源往往非常庞大,少则几百台服务器,多则上万台,同时可能跨跃多个地域。且云平台中运行的应用也是数以千计,如何有效地管理这批资源,保证它们正常提供服务,需要强大的技术支撑。因此,分布式资源管理技术的重要性可想而知。

    全球各大云计算方案/服务提供商们都在积极开展相关技术的研发工作。其中Google内部使用的Borg技术很受业内称道。另外,微软、IBM、Oracle/Sun等云计算巨头都有相应解决方案提出。

    6、信息安全

    调查数据表明,安全已经成为阻碍云计算发展的最主要原因之一。数据显示,32%已经使用云计算的组织和45%尚未使用云计算的组织的ICT管理将云安全作为进一步部署云的最大障碍。因此,要想保证云计算能够长期稳定、快速发展,安全是首要需要解决的问题。

    事实上,云计算安全也不是新问题,传统互联网存在同样的问题。只是云计算出现以后,安全问题变得更加突出。在云计算体系中,安全涉及到很多层面,包括网络安全、服务器安全、软件安全、系统安全等等。因此,有分析师认为,云安全产业的发展,将把传统安全技术提到一个新的阶段。

    现在,不管是软件安全厂商还是硬件安全厂商都在积极研发云计算安全产品和方案。包括传统杀毒软件厂商、软硬防火墙厂商、IDS/IPS厂商在内的各个层面的安全供应商都已加入到云安全领域。相信在不久的将来,云安全问题将得到很好的解决.

    7、云计算平台管理

    云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效地管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。云计算系统的平台管理技术,需要具有高效调配大量服务器资源,使其更好协同工作的能力。其中,方便地部署和开通新业务、快速发现并且恢复系统故障、通过自动化、智能化手段实现大规模系统可靠的运营是云计算平台管理技术的关键。

    对于提供者而言,云计算可以有三种部署模式,即公共云、私有云和混合云。三种模式对平台管理的要求大不相同。对于用户而言,由于企业对于ICT资源共享的控制、对系统效率的要求以及ICT成本投入预算不尽相同,企业所需要的云计算系统规模及可管理性能也大不相同。因此,云计算平台管理方案要更多地考虑到定制化需求,能够满足不同场景的应用需求。

    包括Google、IBM、微软、Oracle/Sun等在内的许多厂商都有云计算平台管理方案推出。这些方案能够帮助企业实现基础架构整合、实现企业硬件资源和软件资源的统一管理、统一分配、统一部署、统一监控和统一备份,打破应用对资源的独占,让企业云计算平台价值得以充分发挥。

    8、绿色节能技术

    节能环保是全球整个时代的大主题。云计算也以低成本、高效率着称。云计算具有巨大的规模经济效益,在提高资源利用效率的同时,节省了大量能源。绿色节能技术已经成为云计算必不可少的技术,未来越来越多的节能技术还会被引入云计算中来。

    Carbon Disclosure Project(碳排放披露项目,简称CDP)近日发布了一项有关云计算有助于减少碳排放的研究报告。报告指出,迁移至云的美国公司每年就可以减少碳排放8570万吨,这相当于2亿桶石油所排放出的碳总量。

    总之,云计算服务提供商们需要持续改善技术,让云计算更绿色。

  • ?

    云计算与云存储对比,具体是什么关系?

    斯瓦讷克

    展开

    Tips:“小鸟云”是深圳前海小鸟云计算有限公司旗下云计算品牌,国内领先的企业级云计算服务商。团队拥有多年行业经验,专注云计算技术研发,面向广大开发者、政企用户、金融机构等,提供基于智能云服务器的全方位云计算解决方案,为用户提供可信赖的企业级公有云服务。

    现在的IT业界对于云集计算的钟爱超过了以往的任何时候,云计算产业被认为是继大型计算机、个人计算机、互联网之后的 第四次IT产业革命,IT行业进入云时代,对IT界的大小企业来说云计算就是一次炼狱。其实在某种的意义上云计算并不是一项全新的技术,是在信息化积累到一定的程度需要对于IT资源进行有效整合的客观需求催生的,因此在云计算整个的发展过程我们会看到过去很多看见过的技术跟应用模式。

    云计算的概念现在已经很明晰,云计算之所以能够在最近几年快速兴起,是因为用户渴望能够充分利用IT资源来给业务提供即时按需的高效服务。云计算具体指的是:狭义云计算指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。

    这是云计算的一个核心的概念,其实简单的理解就是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。提供资源的网络被称为“云”。这种“云”服务,我们可以随时的享用,只是这种服务有偿的。

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

    就如同云状的广域网和互联网一样,云存储对使用者来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储,而是一种服务。

    从两者的关系来看,云存储和云计算之间的关系还是很好理解的,云存储和云计算相比较,可以认为是云存储配置了大容量存储空间的一个云计算系统。

    未来云计算的应用会更加细致的深入到我们日常的生活中去,未来基于云计算的云存储会更加的深入到目前的移动互联行业,而我们现在的智能有手机在未来将有一个具有大容量云端存储,正如前面所说的,云存储不是实物,是服务,未来市场潜力巨大。

  • ?

    支撑云计算的五大关键技术

    柳如之

    展开

    云计算系统运用了许多技术,其中以编程模型、数据管理技术、数据存储技术、虚拟化技术、云计算平台管理技术最为关键。

    (1)编程模型

    MapReduce是Google开发的java、Python、C++编程模型,它是一种简化的分布式编程模型和高效的任务调度模型,用于大规模数据集(大于1TB)的并行运算。严格的编程模型使云计算环境下的编程十分简单。MapReduce模式的思想是将要执行的问题分解成Map(映射)和Reduce(化简)的方式,先通过Map程序将数据切割成不相关的区块,分配(调度)给大量计算机处理,达到分布式运算的效果,再通过Reduce程序将结果汇整输出。

    (2)海量数据分布存储技术

    云计算系统由大量服务器组成,同时为大量用户服务,因此云计算系统采用分布式存储的方式存储数据,用冗余存储的方式保证数据的可靠性。云计算系统中广泛使用的数据存储系统是Google的GFS和Hadoop团队开发的GFS的开源实现HDFS。

    GFS即Google文件系统(GoogleFile

    System),是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。GFS的设计思想不同于传统的文件系统,是针对大规模数据处理和Google应用特性而设计的。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。

    一个GFS集群由一个主服务器(master)和大量的块服务器(chunkserver)构成,并被许多客户(Client)访问。主服务器存储文件系统所以的元数据,包括名字空间、访问控制信息、从文件到块的映射以及块的当前位置。它也控制系统范围的活动,如块租约(lease)管理,孤儿块的垃圾收集,块服务器间的块迁移。主服务器定期通过HeartBeat消息与每一个块服务器通信,给块服务器传递指令并收集它的状态。GFS中的文件被切分为64MB的块并以冗余存储,每份数据在系统中保存3个以上备份。

    客户与主服务器的交换只限于对元数据的操作,所有数据方面的通信都直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。

    (3)海量数据管理技术

    云计算需要对分布的、海量的数据进行处理、分析,因此,数据管理技术必需能够高效的管理大量的数据。云计算系统中的数据管理技术主要是Google的BT(BigTable)数据管理技术和Hadoop团队开发的开源数据管理模块HBase。

    BT是建立在GFS,Scheduler,Lock

    Service和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。

    Google的很多项目使用BT来存储数据,包括网页查询,Google

    earth和Google金融。这些应用程序对BT的要求各不相同:数据大小(从URL到网页到卫星图象)不同,反应速度不同(从后端的大批处理到实时数据服务)。对于不同的要求,BT都成功的提供了灵活高效的服务。

    (4)虚拟化技术

    通过虚拟化技术可实现软件应用与底层硬件相隔离,它包括将单个资源划分成多个虚拟资源的裂分模式,也包括将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等,计算虚拟化又分为系统级虚拟化、应用级虚拟化和桌面虚拟化。

    (5)云计算平台管理技术

    云计算资源规模庞大,服务器数量众多并分布在不同的地点,同时运行着数百种应用,如何有效的管理这些服务器,保证整个系统提供不间断的服务是巨大的挑战。

    云计算系统的平台管理技术能够使大量的服务器协同工作,方便的进行业务部署和开通,快速发现和恢复系统故障,通过自动化、智能化的手段实现大规模系统的可靠运营。

  • ?

    一篇文章告诉你,云计算和云存储的关系

    Eudora

    展开

    从目前的情况来看,IT业界已经可不开云计算的应用。云计算也被是第四次IT产业革命。但从一定的意义上来看,云计算算不上是一项全新的技术,它的存在主要源于信息化的积累以及IT资源有效整合的需求,这也就是我们为什么能在云计算发展的过程中能看到过去很多相似的技术。

    云计算其实是指IT技术设施的交付和使拥模式,通过网络来进行服务。这中服务包含的是分广泛,可以是IT和软件、互联网相关的服务,也可以是其他类型的服务。简单点来说,就是将大量用网络连接的计算资源进行统一管理和调度。形成一个计算资源中心,为用户们提供多种服务。这提供资源的网络就被称作是“云”,而这种“云”服务是有偿的并且可以是随时随地享受。

    而我们常说的云存储是根据云计算延伸出来的新概念,是指通过集群应用、网络技术、或分布式文件系统等功能,将网络网上各种不同的存储设备通过应用软件集起来进行协同工作,共同对外提供数据存储和业务访问功能的一个系统。从某种意义上来说,就是一个以数据存储和管理为核心的云计算系统。

    但其实,云存储对于使用者来说,它已经不是一个设备了,而是有众多个存储设备和服务器所构成的集合体。同样,在使用者使用云存储时也不是在使用某一个设备,而是使用这个云存储系统带来的一种数据访问系统。所以从严格的角度来看,云存储它已经成为一种服务,而不是单纯的存储。这样云计算与云存储的关系就不难理解了,云存储相对于云计算来说,可以看作是一个拥有大容量空间的云计算系统。

    云计算的应用已经渗透进我们生活的方方面面,如果以现在的发展速度来看,未来云计算可能会更加细致的深入到我们的日常生活中去。由于云存储方面的发展,可能会更加深入到目前的移动互联行业。就如本文中提到的,云存储是单纯的存储,而是一种服务,在未来必然会有更大的市场潜力。

  • ?

    云计算存储产品详解

    巴恩斯特珀尔

    展开

    云上存储产品主要有对象存储,块存储,网络文件系统(NAS),还有最赚钱的CDN,我们将针对这些主流产品,讲讲他们产品特点,有云上存储时候知道如何选型,当然我们是技术型作者也会简单讲讲实现思路,出于信息安全,不可能完全阐述工业界方案。工业界各大厂商很多上层存储产品都重度依赖底层文件系统,我们也捎带说说存储祖师爷DFS。

    Linux IO STACK

    云计算本质就是单机计算能力的无限扩展,我们先看看单机的文件及IO管理。linux操作系统一个IO操作要经由文件系统vfs,调度算法,块设备层,最终落盘:

    (1)其中vfs层有具体的NFS/smbfs 支持网络协议派生出来NAS产品

    (2)VFS还有一个fuse文件系统,可切换到用户态上下文。上层分布式存储只要适配了Libfuse接口,就可访问后端存储

    (3)在设备层,通过扩展ISCSI网络协议,衍生出了块存储

    存储产品架构流派

    分层或平层:

    如hbase,底层基于hdfs文件系统,hbase不用考虑replication,专注于自身领域问题 特点:大大降低开发成本,稳定性依赖底层存储,底层不稳定,上层遭殃。

    竖井:

    自己做replication,自己做副本recover,自己做写时recover master-slave体系架构

    两层索引体系,解决lots of small file

    第一层,master维护一个路由表,通过fileurl找到对应slave location(ip+port)

    第二层,slave单机索引体系,找到具体的location,读出raw data DFS

    特点:丰富类posix语意,特点Append-only存储,不支持pwrite

    可能存在问题:

    (1)Pb级别存储方案,非EB级别。 原因namenode集中式server,内存&qps瓶颈,bat体量公司需运维上百个集群

    (2)默认三副本,成本高

    (3)强一致写,慢节点问题

    演进:

    GFS2拆分了namenode,拆分成目录树,blockservice,外加ferdaration,但namespace集中式server缺陷依旧,同时切分image是要停服,水平扩展不是那么友好。

    对象存储:

    元数据管理

    Blobstorage: blobid->[raw data]Metastore,aws s3又称为keymap,本质上是个kv系统。存储内容file_url->[blobid list]

    I/O 路径

    (1)httpserver收到muti-part form,收到固定大小raw data,切成K份等长条带

    (2)条带做EC,生成(N-K)份编码块,共得到N份shard。现在的问题变成了这N份数据存哪

    (3)客户端的代理继续向blobstorage申请一个全局的id,这个id代表了了后端实际node的地址,以及这个node管理的实际物理卷,我们的每个分片数据均等的存在这些物理卷上。

    (4)分发写N份数据,满足安全副本数即可返回写成功,写失败的可延时EC方式修复

    (5)httpserver将文件file及对应的分片列表以KV形式写入metastore。

    特点:

    基于http协议 ws服务,接口简单,put/get,延时高。 EB级别存储方案,适合云上产品形态。深度目录树变成两层目录结构(bucket+object)。

    缺点:

    posix语意接口太少,不提供append语意(其实是通过覆盖写提供),更别说随机写。

    iscsi模型

    与后端交互的的部分在内核实现,后端target解析iscsi协议并将请求映射到后端分布式存储

    特点:

    (1)绝大多数请求大小是4K对齐的blocksize. 块设备的使用一般上层文件系统,而大多数主流文件系统的块大小是4KB,文件最小操作粒度是块,因此绝大多数的IO请求是4KB对齐的。

    (2)强一致. 块设备必须提供强一致,即写返回后,能够读到写进去的数据。

    (3)支持随机写,延时要低用户基于虚拟块设备构建文件系统(ext4),对于文件编辑操作很频繁,所以需要支持随机写。比NAS/Fuse类产品性能好,只hack块设备读写,上层dentry lookup还是走原来的IO path,没有像NAS/FUSE dentry的lookup发起多次rpc问题

    (4)产品层面需要预先购买容量,扩容需要重新挂载,跟NAS比容易浪费空间

    实现模型:

    云盘逻辑卷按block切分,为了便于recover,按1G切分,第一层路由由blockManager管理,按volumeid+offset 映射到逻辑block,逻辑block location在三台blockserver上。Blockserver预先创建一个1G文件(falloc,防止写过程中空间不够),称为物理block。对于逻辑卷这段区间所有的IO操作都会落到这个物理block文件上,很容易实现pwrite。当然也可以基于裸盘,在os看来是一个大文件,分割成不同的1G文件

    IO路径:

    块设备上层会有文件系统,经过io调度算法,合并io操作,isici协议发出的IO请求的都是对扇区LBA的操作,所以可以简单抽象成对于卷id加上偏移的操作,我们简单讲讲EBS(Elastic Block Store)层IO路径

    (1)网络发出来的IO请求是针对volume+offerset操作,假定是个写请求

    (2)通过blockManager查找到逻辑block

    (3)在内存中找到block对应的物理地址(ip+port),block的replicationGroup

    (4)使用业界通用复制链方式如raft协议向replicationGroup发送io请求,raft帮我们解决写时失败tuncate问题

    (5)单节点接到IO请求,把LBA换算成真实的文件偏移,pwrite写下去

    优化

    a、可想而知,这种存储模型下,后端node会有大量的随机写,吞吐肯定不高,有很大的优化空间 可以通过类似LSM引擎方式,将随机写变成顺序写,读者可深入思考,本文不详细探讨了。

    b、虚拟磁盘可以切条掉,相当于raid盘思路,单块盘的IO变成多多块盘,增大吞吐。

    NAS

    用户通过mount目录访问共享文件,mount点挂在的是一个NFS协议的文件系统,会通过tcp访问到NFS server。NFS server是一个代理,通过libcfs最终会访问到我们后端的存储系统。

    后端存储系统

    DS包含管理inode的metastore和datastore,metastore

    我们充分吸取业界DFS缺点,解决Namenode集中式server瓶颈,充分考虑bigtable的各种优点。Metastore可基于分布式数据库(newsql),回想一下bigtable,一个用户的文件散落在多个tabletserver上,允许用户跨tabletserver rename操作,所以需要分布式事务完成上述保证,出于对DFS改进,我们把目录树持久化模仿linux fs dentry管理,映射规则如下两张表,dentry表和inode表,dentry表描述目录树,inode表描述文件block列表及atime,mtime,uid,gid等源信息,一般来讲硬链够用,该场景下dentry可以多份,共同指向一个inode。 dentry通过外健关联到inode表

    比如lookup 子节点

    SELECT i.* FROM Dentry d, Inode i WHERE d.PARENT_DID=$PARENT_ID

    datastore

    特点:要求提供随机写,所以跟块存储EBS设计思路是一样的,大文件切块,按块组织,dataserver上有真实的物理block文件,提供pwrite操作。

    特点

    弹性容量,不限容量,多机挂载并行读写,IO线性增长,支持随机写比块存储优势在于用多少花多少,不需要提前申请容量,真弹性

    缺点

    vfs层 dentry lookup每个层级目录会发起rpc,延时高。

    总结

  • ?

    细数云计算产品和技术-云存储

    凝蕊

    展开

    简介

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

    云存储不是存储,而是服务就如同云状的广域网和互联网一样,云存储对使用者来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储,而是一种服务。云存储的核心是应用软件与存储设备相结合,通过应用软件来实现存储设备向存储服务的转变。

    发展

    宽带网络的发展

    真正的云存储系统将会是一个多区域分布、遍布全国、甚至于遍布全球的庞大公用系统,使用者需要通过ADSL、DDN等宽带接入设备来连接云存储。只有宽带网络得到充足的发展,使用者才有可能获得足够大的数据传输带宽,实现大量容量数据的传输,真正享受到云存储服务,否则只能是空谈。

    WEB2.0技术

    Web2.0 技术的核心是分享。只有通过web2.0技术,云存储的使用者才有可能通过 PC、手机、移动多媒体等多种设备,实现数据、文档、图片和视音频等内容的集中存储和资料共享。

    应用存储

    云存储不仅仅是存储,更多的是应用。应用存储是一种在存储设备中集成了应用软件功能的存储设备,它不仅具有数据存储功能,还具有应用软件功能,可以看作是服务器和存储设备的集合体。应用存储技术的发展可以大量减少云存储中服务器的数量,从而降低系统建设成本,减少系统中由服务器造成单点故障和性能瓶颈,减少数据传输环节,提供系统性能和效率,保证整个系统的高效稳定运行。

    集群技术、网格技术和分布式文件系统

    云存储系统是一个多存储设备、多应用、多服务协同工作的集合体,任何一个单点的存储系统都不是云存储。

    CDN内容分发、数据压缩技术

    CDN内容分发系统、数据加密技术保证云存储中的数据不会被未授权的用户所访问,同时,通过各种数据备份和容灾技术保证云存储中的数据不会丢失,保证云存储自身的安全和稳定。如果云存储中的数据安全得不到保证,想来也没有人敢用云存储,否则,保存的数据不是很快丢失了,就是全国人民都知道了。

    存储虚拟化技术、存储网络化管理技术

    云存储中的存储设备数量庞大且分布多在不同地域,如何实现不同厂商、不同型号甚至于不同类型(如FC存储和 IP存储)的多台设备之间的逻辑卷管理、存储虚拟化管理和多链路冗余管理将会是一个巨大的难题,这个问题得不到解决,存储设备就会是整个云存储系统的性能瓶颈,结构上也无法形成一个整体,而且还会带来后期容量和性能扩展难等问题。

    云存储中的存储设备数量庞大、分布地域广造成的另外一个问题就是存储设备运营管理问题。虽然这些问题对云存储的使用者来讲根本不需要关心,但对于云存储的运营单位来讲,却必须要通过切实可行和有效的手段来解决集中管理难、状态监控难、故障维护难、人力成本高等问题。因此,云存储必须要具有一个高效的类似与网络管理软件一样的集中管理平台,可实现云存储系统中设有存储设备、服务器和网络设备的集中管理和状态监控。

    应用场景

    网络结构

    云存储系统的结构模型由4层组成:

    存储层

    存储层是云存储最基础的部分。存储设备可以是FC光纤通道存储设备,可以是NAS和 iSCSI等IP存储设备,也可以是 SCSI或SAS等 DAS存储设备。云存储中的存储设备往往数量庞大且分布多不同地域。彼此之间通过广域网、互联网或者FC光纤通道网络连接在一起。

    存储设备之上是一个统一存储设备管理系统,可以实现存储设备的逻辑虚拟化管理、多链路冗余管理,以及硬件设备的状态监控和故障维护。

    基础管理层

    基础管理层是云存储最核心的部分,也是云存储中最难以实现的部分。基础管理层通过集群、分布式文件系统和网格计算等技术,实现云存储中多个存储设备之间的协同工作,使多个的存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。

    应用接口层

    应用接口层是云存储最灵活多变的部分。不同的云存储运营单位可以根据实际业务类型,开发不同的应用服务接口,提供不同的应用服务。

    访问层

    任何一个授权用户都可以通过标准的公用应用接口来登录云存储系统,享受云存储服务。

    应用

    核心技术

    云计算系统的核心技术:并行计算。并行计算是指同时使用多种计算资源解决计算问题的过程。通过并行计算集群完成数据的处理,再将处理的结果返回给用户。

    1、编程模式;

    2、海量数据分布存储技术;

    3、海量数据管理技术;

    4、虚拟化技术;

    5、云计算平台管理技术;

    6、信息安全管理技术;

    7、运维管理技术。

    服务商

    阿里云、七牛云、金山云、360云盘、EMC和百度云等等,提供专业的存储服务,公有云存储,私有云存储和混合云存储服务。

    释放价值,分享知识和经验,解读IT前沿和技术。帮助他人,提升自己。更多交流请关注itboxes(IT智囊)。

    注:图片来源于网络,如有异议,请联系我们,我们将即时处理。

  • ?

    笑谈云计算与数据管理

    吕十八

    展开

    每次谈起大数据就会聊到云计算,好像两者总是分不开的。下面就来聊聊一些云计算与数据管理的内容。这次内容非常浅显,非计算机专业也可以看到,是一些理论性的东西,是为了说明A是A的概念。

    天气越来越热,容易心烦气躁。大计未成,不可懈怠啊。我不是贩卖焦虑,只是这些东西越早了解越好。话止于此。看各位造化。

    (一)云计算基本概念

    云计算(Cloud Ccomputing),分布式计算技术的一种,其最基本的概念,是透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经搜寻、计算分析之后将处理结果回传给用户。

    (二)云计算出现的背景

    云计算是继1980年代大型计算机到客户端—服务器的大转变之后的又一种巨变。

    云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。

    云计算主要经历了四个阶段才发展到现在这样比较成熟的水平,这四个阶段依次:

    第一阶段:电厂模式阶段

    第二阶段:效用计算阶段

    第三阶段:网格计算阶段

    第四阶段:云计算阶段

    (三)云计算关键技术

    (1)数据存储技术

    云计算系统需要同时满足大量用户的需求,并行地为大量用户提供服务。因此,云计算的数据存储技术必须具有分布式、高吞吐率和高传输率的特点。

    (2)数据管理技术

    云计算的特点是对海量的数据存储、读取后进行大量的分析,如何提高数据的更新速率以及进一步提高随机读取速率是未来的数据管理技术必须解决的问题。

云计算数据存储技术

所有视频需要登录后,才能观看

请先登录您的帐号,即可完整播放,如果您尚未注册帐号,请先点击注册。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP