版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据存储技术第6章大规模的数据资源蕴含着巨大的社会价值,有效管理数据,对国家治理、社会管理、企业决策和个人生活、学习将带来巨大的作用和影响,因此在大数据时代,必须解决海量数据的高效存储问题。LOGO大数据存储技术数据存储概述01分布式文件系统02非结构化大数据的存储——Hive03结构化大数据的存储——HBase04云存储技术05数据存储概述PART01数据是企业的核心资产,几乎所有的企业应用系统都是围绕数据进行的,包括数据的增、删、改、查。数据对于企业,甚至国家来说,有着不可估量的价值。同时,只有在拥有一个庞大的数据量对其进行分析,才能获取真正价值。数据库根据存储的数据类型不同主要分为关系型数据库(SQL)与非关系型数据库(NoSQL),其中非关系型数据库中包含4种类型:列式数据库、键值数据库、图像图形数据库、面向文档数据库。“”6.1数据存储概述主要的数据库产品6.1数据存储概述(1)关系型数据库
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。主流的关系数据库有Oracle、Db2、SQLServer、Sybase、MySQL等。其优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。(2)非关系型数据库1.列式数据库列式数据库一般应用于对应大量的字符串数据,实例如HBase、Cassandra、SybaseIQ、HPVertica、EMCGreenplum等。列式数据库从一开始就是面向大数据环境下数据仓库的数据分析而产生,主要适合于批量数据处理和即时查询。其优势是查找速度快,可扩展性强,更容易进行分布式扩展。劣势是功能相对局限。6.1数据存储概述2.键值数据库键值数据库即Key-Value存储,简称KV存储。它是NoSQL存储的一种方式。它的数据按照键值对的形式进行组织、索引和存储。KV存储非常适合不涉及过多数据关系业务关系的业务数据,同时能有效减少读写磁盘的次数,比SQL数据库存储拥有更好的读写性能。典型的产品有亚马逊的DynamoDB、Redis。优势是快速查询,劣势是存储的数据缺少结构化。3.图形数据库图形数据库不是专门用来存储图形图像的,而是因为其用图状结构来维持其数据之间的关系,所以叫做图形数据库。Neo4j、Sones就是其典型代表。图形数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。最常见例子就是社会网络中人与人之间的关系。关系型数据库用于存储“关系型”数据的效果并不好,其查询复杂、缓慢、超出预期,而图形数据库的独特设计恰恰弥补了这个缺陷。6.1数据存储概述4.文档数据库
从1989年起,Lotus通过其群件产品Notes提出了数据库技术的全新概念——文档数据库,文档数据库区别于传统的其它数据库,它是用来管理文档。在传统的数据库中,信息被分割成离散的数据段,而在文档数据库中,文档是处理信息的基本单位。一文档可以很长、很复杂、可以无结构,与字处理文档类似。一个文档相当于关系数据库中的一条记录。每个数据项都有一个名词与对应值,同一个表中存储的文档属性可以是不同的,数据可以使用XML、JSON或JSONB等多种形式存储。典型产品有MongoDB、CouchDB。6.1数据存储概述大数据存储基础架构支持云存储、分布式文件系统等。①云储存是在云计算(CloudComputing)概念上延伸和衍生发展出来的一个新的概念。云存储的概念与云计算类似,它是指通过集群应用、网格技术或分布式文件系统等功能,网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统,保证数据的安全性,并节约存储空间。简单来说,云存储就是将储存资源放到云上供人存取的一种新兴方案。使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。②分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。分布式文件系统PART02相对于传统的本地文件系统而言,分布式文件系统(DistributeFileSystem,DFS)是通过网络实现文件在多台主机上进行分布式存储的文件系统。6.2.1分布式文件系统设计思路(1)主服务器也称为元数据服务器、名字服务器,通常会配置备用主服务器以便故障时接管服务,也可以两个都为主服务器。(2)多个数据服务器也称存储服务器、存储节点等。(3)多个客户端,客户端可以是各种应用服务器,也可以是终端用户。分布式文件系统的数据存储解决方案归根结底是将大问题划分为小问题。目前主流的一种分布式文件系统架构的组件:6.2.1分布式文件系统设计思路分布式文件系统的发展历程(1)网络文件系统(1980s);(2)共享存储(SAN)集群文件系统(1990s);(3)面向对象的并行文件系统(2000s)。网络文件系统(NetworkFileSystem,NFS)是由SUN公司研制的UNIX表示层协议(PressentationLayerProtocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。网络文件系统是文件系统之上的网络抽象,允许远程客户端以与本地文件系统类似的方式通过网络进行访问。虽然NFS不是第一个此类系统,但是它已经发展并演变成UNIX系统中最强大、最广泛使用的网络文件系统。NFS允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。网络文件系统从1984年问世以来持续演变,并已成为分布式文件系统的基础。6.2.1分布式文件系统设计思路分布式文件系统的发展历程(1)网络文件系统(1980s);(2)共享存储(SAN)集群文件系统(1990s);(3)面向对象的并行文件系统(2000s)。网络文件系统(NetworkFileSystem,NFS)是由SUN公司研制的UNIX表示层协议(PressentationLayerProtocol),能使使用者访问网络上别处的文件就像在使用自己的计算机一样。网络文件系统是文件系统之上的网络抽象,允许远程客户端以与本地文件系统类似的方式通过网络进行访问。虽然NFS不是第一个此类系统,但是它已经发展并演变成UNIX系统中最强大、最广泛使用的网络文件系统。NFS允许在多个用户之间共享公共文件系统,并提供数据集中的优势,来最小化所需的存储空间。网络文件系统从1984年问世以来持续演变,并已成为分布式文件系统的基础。6.2.2最早的分布式文件系统
分布式文件系统均为Client/Server架构。数据保存在服务器端,而客户端的应用程序能够像访问本地文件系统一样访问位于远程服务器上的文件。在Client端通常都对文件数据进行缓存,以提高读写性能和系统可扩展性。NFS文件系统的工作过程(1)提供一个共享目录,如/home/sharefile/。(2)每个客户端均挂载共享目录至某一本地目录,实现文件共享。(3)收集所有客户端的文件信息。(4)每个客户端都能访问所有客户端共享的文件。从以上工作过程可以看出,NFS实现了分布式文件存储,但每个结点之间的文件传输都要通过主结点。6.2.3大数据环境下分布式文件系统的优化思路大数据环境下,数据的增长呈现爆炸式的状态。数据的大小从原来的MB、GB级别一跃成为当前的TB、PB甚至EB级别。在处理这样海量数据时会遇到很多的问题,以下列举几种:(1)数据量巨大,磁盘很困难处理海量信息。所以需要文件系统有大规模数据分布存储能力。(2)读取一块磁盘的所有数据需要很长时间,写入更是需要更长时间(写入时间一般是读取时间的3倍),即使有文件为1ZB,或者小点10EB时,这样的磁盘也无法做到随读随取,所以需要文件系统有高并发访问能力。(3)当数据集的大小超过一台独立物理计算机的存储能力时,就有必要对它进行分区并存储到若干台单独的计算机上。(4)分布式的文件系统会因为分布后的结构不完整,导致系统复杂度加大,并且引入的网络编程,同样导致分布式文件系统更加复杂。所以需要强大的容错能力。6.2.3大数据环境下分布式文件系统的优化思路解决思路是首先大文件被分块,分别存储在不同的数据结点上;因数据存储在廉价的不可信结点集群架构上,所以数据副本数不能小于2,单个数据结点故障时文件分块完整保存,后续保证充分复制;在读写数据时,不同的数据结点上实现并发读写。这个思路最初是由Google提出并应用于GFS。当有大文件需要存储时,首先将文件按64MB的大小分块,如图所示,将大文件分成了三块(图中的1、2、3即为数据块),然后发信息到集群中的Servers结点,Servers结点回发信息告诉计算结点把这三个文件存储到什么位置,然后计算结点直接将数据存储到DataNode结点上。可以注意到数据的传输不再通过Server结点,而是计算结点和DataNode结点直接进行数据的读写操作,从而缓解Server结点数据传输瓶颈。其中Server结点中存放的是元数据(Metadata),Metadata主要描述的是数据属性(Property)的信息,是一种电子式目录。结构化大数据的存储——HivePART03如何实现对SQL技术比较熟悉的程序员在Hadoop平台上对海量数据进行分析?如何实现传统数据格式到Hadoop平台上的迁移,如基于传统关系型数据库的数据格式和SQL处理技术?如何实现传统数据库设计人员在Hadoop平台上使用其所熟悉的SQL技术施展才能?如何在分布式环境下采用数据仓库技术从更多的数据中快速地获取数据的有效价值?Hive正是为了解决这些问题应运而生。6.3.1Hive简介
Hive是一种数据仓库技术,用于查询和管理存储在分布式环境下的大数据集,由Facebook公司研发并作为开源项目贡献给了Apache软件基金会,早在2010年9月,Hive就已经成功升级为Apache的顶级项目,并获得了全球大多数自由软件爱好者和大型软件公司的源码贡献和功能完善,成为一个应用广泛、可扩展的数据处理平台.
Hive的主要优势在于其结合了SQL技术和Hadoop中MapReduce分布式计算的优点,降低了传统数据分析人员使用Hadoop平台进入大数据平台开发的障碍。
也就是说,Hive是一个数据仓库服务,它只需要安装到一台普通的PC上即可,仅仅对外提供SQL服务,和Hadoop、HBase这些分布式服务不同,对客户端的SQL最终转换成对HDFS的操作和MapReduce的操作。因此,Hive完美集成了SQL技术,提供了类SQL的查询语言,称为HiveQL或HQL(HiveQueryLanguage),用于查询存储在Hadoop集群中的数据。6.3.2Hive架构Hive的存储是建立在Hadoop之上的,本身并没有特定的数据存储格式,也不会为数据建立索引,数据能以任意的形式存储在HDFS上,或者以特定分类形式存储在分布式数据库HBase中。
Hive主要是提供了一个SQL解析过程,把外部SQL命令解析成一个MapReduce作业计划,并把按照该计划生成的MapReduce任务交给Hadoop集群处理,因此,确保Hadoop集群环境及其MapReduce组件已启动且运行正常,否则相关Hive操作会执行失败。Hive组成部分分为Hive客户端和Hive服务端。客户端提供了Thrift、JDBC、ODBC应用程序驱动工具,可以方便地编写使用Thrift、JDBC和ODBC驱动的Python、Java或C++程序,使用Hive对存储在Hadoop上的海量数据进行分析;服务端提供了HiveShell命令行接口、HiveWeb接口和为不同应用程序(包括上层Thrift应用程序、JDBC应用程序以及ODBC应用程序)提供多种服务的HiveServer,实现上述Hive服务操作与存储在Hadoop上的数据之间的交互。6.3.2Hive架构(1)CLI(CommandLineInterface,命令行接口)提供在HiveShell下执行类似SQL命令的相关HiveQL操作,也是Hive提供的标准接口,可以使用一条HiveQL命令返回存储在Hadoop上的数据。(2)JDBC/ODBC:Hive提供了纯Java的JDBC驱动,该类定义在org.apache.hadoop.hive.jdbc.HiveDriver下。当在Java应用程序配置方法中使用jdbc:hive://host:port/dbname形式的JDBCURI,Java应用程序将会连接以独立进程形式运行在host:port上的Hive服务端。若指定JDBCURI为jdbc:hive://,Java应用程序将会连接运行在本地JVM上的Hive服务端(如果本地配置了Hive服务的话)。同样也允许支持ODBC协议的应用程序访问Hive服务端执行相关的操作。(3)WebUI(UserInterface):通过浏览器访问和操作Hive服务端,可以查看Hive数据库模式,执行HiveQL相关操作命令。(4)ThriftServer:为Thrift(是Facebook开发的一个软件框架,用来进行可拓展且跨语言的服务)客户端应用、JDBC驱动应用、ODBC驱动应用提供Thrift服务,即实现用其他语言编写的程序转换为Java应用程序(因为Hadoop是用Java语言编写的),为编写Python、C++、PHP、Ruby等应用程序使用Hive操作提供了方便。6.3.2Hive架构(5)Driver:实现Hive服务操作到MapReduce分布式应用的任务转化。主要包含编译器(Compiler)、优化器(Optimizer)和执行器(Executor)。(6)MetaStore:Hive采用类SQL语法模式的HiveQL语言操作存储在Hadoop分布式环境上的数据,因此需要在Hive与Hadoop之间提供一层抽象接口,实现Hive与Hadoop之间不同数据格式的转换,接口属性包括表名、列名、表分区名以及数据在HDFS上的存储位置,接口属性内容又称为Hive表元数据,以metastore内容的形式存储在数据库中,用来限定Hive如何进行格式化操作从Hadoop中获取到的任何非结构化数据。(7)JobClient:执行MapReduce分布式任务的作业调度器。(8)NameNode和DataNode:HDFS集群有两类节点,并以管理者-工作者模式运行,即一个NameNode(管理者)和多个DataNode(工作者)。NameNode主要负责管理HDFS文件系统,具体地包括NameSpace管理(其实就是目录结构),Block管理。NameNode提供的始终是被动接收服务的Server。DataNode主要是用来存储数据文件,HDFS将一个文件分割成一个个的Block,这些Block冗余地存储在多个DataNode上。DataNode负责实际底层的文件读写,如果客户端Client程序发起了读HDFS上的文件的命令,那么首先将这些文件分成Block,然后NameNode将告知Client这些Block数据是存储在哪些DataNode上的,之后,Client将直接和DataNode交互。6.3.3Hive数据模型与存储Hive原子数据类型也称基本数据类型入下:6.3.3Hive数据模型与存储Hive复杂数据类型如下:6.3.3Hive数据模型与存储Hive的数据模型主要包括:管理表或内部表(Table)、外部表(ExternalTable)、分区(Partition)、桶(Bucket)。(1)管理表或内部表(Table):管理表与数据库中的Table在概念上是类似,每一个Table在Hive中都有一个相应的目录存储数据,所有的Table数据(不包括ExternalTable)都保存在这个目录中,删除表时,元数据与数据都会被删除。(2):外部表(ExternalTable):指向已经在HDFS中存在的数据,可以创建Partition,它和内部表在元数据的组织上是相同的,而实际数据的存储则有较大的差异,外部表只有一个过程,加载数据和创建表同时完成,并不会移动到数据仓库目录中,只是与外部数据建立一个链接。当删除一个外部表时,仅删除该链接。(3)分区(Partition):Partition对应于数据库Partition列的密集索引,在Hive中,表中的一个Partition对应于表下的一个目录,所有的Partition的数据都存储在对应的目录中。(4)桶(Bucket):上面的Table和Partition都是目录级别的拆分数据,Bucket则是对数据源数据文件本身来拆分数据。使用桶的表会将源数据文件按一定规律拆分成多个文件。桶是对数据进行哈希取值,然后放到不同文件中存储。半结构化大数据的存储——HBasePART046.4.1HBase简介
HBase其实就是Hadoop的DataBase,它是一种分布式的,面向列的开源数据库,其技术来源于ChangEtAl所撰写的Google论文“BigTable:ADistributedStorageSystemforStructuredData”,因此HBase提供的功能类似于Google的BigTable,目前是Apache的顶级项目,它不同于一般的关系型数据库,适合存储半结构化的数据。这是一个高可靠、高性能、面向列、可伸缩、实时读写的分布式数据库系统,具有接近硬盘极限的写入性能及出色的读取表现,适合数据量大但操作简单的任务场景。HBase可以用HDFS作为其文件存储系统,并支持使用MapReduce分布式模型处理HBase中的海量数据,利用ZooKeeper进行协同管理数据。6.4.1HBase简介
HBase一般具有如下特点。(1)线性扩展:当存储空间不足时,可通过简单地增加节点的方式进行扩展。(2)面向列:面向列族进行存储,即同一个列族里的数据在逻辑上(HBase底层为HDFS,所以实际上会有多个文件块)存储在一个文件中。(3)大表:表可以非常大,百万级甚至亿级的行和列。(4)稀疏:列族中的列可以动态增加,由于数据的多样性,整体上会有非常多的列,但每一行数据可能只对应少数的列,一般情况下,一行数据中,只有少数的列有值,而对于空值,HBase并不存储,因此,表可以设计得非常稀疏,而不带来额外的开销。(5)非结构化:HBase不是关系型数据库,适合存储非结构化的数据。(6)面向海量数据:HBase适合处理大数量级的数据,TB级甚至是PB级。(7)HQL:HBase不支持SQL查询语言,而是使用自己的HQL(HBaseQueryLanguage)查询语言,HBase是NoSQL(Not-OnlySQL)的典型代表产品。(8)高读写场景:HBase适合于批量大数据高速写入数据库,同时也有不少读操作(key-value查询)的场景。6.4.2HBase数据模型HBase不同于一般的关系型数据库,在一般的关系型数据库里,采用二维表进行数据存储,一般只有行和列,其中列的属性必须在使用前就定义好,而行可以动态扩展。而HBase中的表,一般由行键、时间戳、列族、行组成,就列族来说,必须在使用前预先定义;和二维表中的列类似,但是列族中的列,时间戳和行都能在使用时进行动态扩展,以此来说,HBase和一般的关系型数据库有很大的区别。1.HBase数据模型术语(1)表(Table):HBase会将数据组织进一张张的表里面,一个HBase表由多行组成。(2)行(Row):HBase中的一行包含一个行键和一个或多个与其相关的值的列。在存储行时,行按字母顺序排序。出于这个原因,行键的设计非常重要。目标是以相关行相互靠近的方式存储数据。常用的行键模式是网站域。如果行键是域名,则应该将它们存储在相反的位置(例如org.apache.www,org.apache.mail,org.apache.jira)。这样,表中的所有Apache域都彼此靠近,而不是根据子域的第一个字母分布。(3)列(Column):HBase中的列由一个列族和一个列限定符组成,它们由“:”字符分隔。6.4.2HBase数据模型(4)列族(ColumnFamily):出于性能原因,列族在物理上共同存在一组列和它们的值。在HBase中每个列族都有一组存储属性,例如其值是否应缓存在内存中,数据如何压缩或其行编码是如何编码的等等。表中的每一行都有相同的列族,但给定的行可能不会在给定的列族中存储任何内容。列族一旦确定后,就不能轻易修改,因为它会影响到HBase真实的物理存储结构,但是列族中的列标识(ColumnQualifier)以及其对应的值可以动态增删。列限定符(ColumnQualifier):列限定符被添加到列族中,以提供给定数据段的索引。鉴于列族的content,列限定符可能是content:html,而另一个可能是content:pdf。虽然列族在创建表时是固定的,但列限定符是可变的,并且在行之间可能差别很大。(5)单元格(Cell):单元格是行、列族和列限定符的组合,并且包含值和时间戳,它表示值的版本。(6)时间戳(Timestamp):时间戳与每个值一起编写,并且是给定版本的值的标识符。默认情况下,时间戳表示写入数据时RegionServer上的时间,但可以在将数据放入单元格时指定不同的时间戳值。6.4.2HBase数据模型2.HBase概念视图示例中有一个名为webtable的表,其中包含两行(n.www和com.example.www)以及名为contents、anchor和people的三个列族。在本例中,对于第一行(n.www),anchor包含两列(anchor:,anchor:my.look.ca),并且contents包含一列(contents:html)。本示例包含具有行键n.www的行的5个版本,以及具有行键com.example.www的行的一个版本。contents:html列限定符包含给定网站的整个HTML。锚(anchor)列族的限定符每个包含与该行所表示的站点链接的外部站点以及它在其链接的锚点(anchor)中使用的文本。people列族代表与该网站相关的人员。6.4.2HBase数据模型3.HBase物理视图尽管在HBase概念视图中,表格被视为一组稀疏的行的集合,但它们是按列族进行物理存储的。可以随时将新的列限定符(column_family:column_qualifier)添加到现有的列族。物理视图如图6-9所示。HBase概念视图中显示的空单元根本不存储。因此,对时间戳为t8的contents:html列值的请求将不返回任何值。同样,在时间戳为t9中一个anchor:my.look.ca值的请求也不会返回任何值。但是,如果未提供时间戳,则会返回特定列的最新值。给定多个版本,最近的也是第一个找到的,因为时间戳按降序存储。因此,如果没有指定时间戳,则对行n.www中所有列的值的请求将是:时间戳t6中的contents:html,时间戳t9中anchor:的值,时间戳t8中anchor:my.look.ca的值。6.4.3存储架构由图可以得知,HBase主要有两种文件:一种是预写日志(Write-AheadLog,WAL)存储文件HLog;另一种是实际的数据文件HFile。它们均以HDFS作为底层实现,在实际的存储中,会划分成更小的文件块分散到各个DataNode中,所以只能知道文件在HDFS中的逻辑位置,而无法知道某张表具体存储在哪个物理节点上。云存储技术PART05如今社会发展的主题是经济的快速发展,随着Internet技术的快速推进,数据量急剧增长,对存储系统提出了更高的要求——更大存储容量、更强的性能、更高的安全性级别、进一步智能化等,传统的存储区域网络(StorageAreaNetwork,SAN)或网络附属存储(NetworkAttachedStorage,NAS)技术面对PB级甚至EB级海量数据,存在容量、性能、扩展性和费用上的瓶颈,已经无法满足新形势下数据存储要求。因此,为了应对不断变大的存储容量、不断加入的新型存储设备、不断扩展的存储系统规模,云存储作为一种全新的解决方案被提出。6.5.1云存储概念及特性云存储是一种网上在线存储的模式,即把数据存放在由第三方托管的多台虚拟服务器中,而非专属的服务器上。托管(Hosting)公司营运大型的数据中心,需要数据存储托管的人向数据中心购买或租赁存储空间来满足数据存储的需求;数据中心营运商根据客户的需求,在后端准备存储虚拟化的资源,并将其以存储资源池(StoragePool)的方式提供给客户,客户便可自行使用此存储资源池来存放文件或对象。实际上,这些资源可能被分布在众多的服务器主机上。从技术角度来说,云存储是指通过集群技术、网络技术或分布式技术等技术,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一种技术。以大化小,化整为零的思想是云存储技术的设计思想。从功能需求来看,云存储系统相比于传统的单一的存储功能来说,功能更加开放化和多元化;从数据管理上看,云存储需要处理的数据类型更多、数据量更大。6.5.1云存储概念及特性1.可靠性
云存储采取将多个小文件分为多个副本的存储模式来实现数据的冗余存储,数据存放在多个不同的结点上,任意其他的结点发生数据故障时,云存储系统将会自动将数据备份到新的存储结点上,保证数据的完整性和可靠性。2.安全性
云存储服务商往往资金雄厚,因而有大量专业技术人员的日常管理和维护,从而保障云存储系统运行安全。通过严格的权限管理,运用数据加密、加密传输、防篡改、防攻击、实时监测等技术,降低了病毒和网络黑客入侵破坏的风险,确保数据不会丢失,为用户提供安全可靠的数据存储环境。3.管理方便
因为大部分的数据都迁移到了云存储上之后,所有的数据的升级维护任务则由云存储服务提供商来完成,这样就大大地降低了企业存储系统上运营维护的成本,并且云存储服务具有强大的可扩展性,当企业的发展加速以后,如果发觉公司现有的存储空间不足,就会考虑扩宽存储服务器的容量来满足现有业务的存储需求,而云存储服务的特性就可以很方便地在原有基础上扩展服务空间,满足需求。4.可扩展性
扩展存储需求意味着用户的成本提高,云存储提供商的复杂性增加,不仅要为存储本身提供可扩展性(功能扩展),而且必须为存储带宽提供可扩展性(负载扩展)。
云存储有以下特性6.5.2云存储的结构模型6.5.3云存储的应用根据服务类型和面向的用户不同,云存储服务可以分为个人级应用和企业级应用。1.个人级云存储的应用(1)网盘一些小型的云盘,如百度网盘、360网盘等,可以在线存储大量的数据,服务商会给每一个用户一定量大小的存储空间,如果用户需要更大的存储空间,更丰富的功能,则需要向服务提供商支付一定的费用购买。服务商通常提供两种访问网盘的方式,一种是Web页面访问,另一种是客户端软件访问。Web页面访问方式比较简单,用户可以直接通过浏览器上传或下载文件,对自己的数据进行存储和备份。而客户端软件访问需要用户到网盘对应的官网上下载相应的客户端来使用。(2)文档在线编辑经过这几年的快速发展,基于云存储的文档在线编辑应用得到了广泛应用。如今,编辑文档已经可以不需要在用户的PC端安装文本编辑软件,只要打开Web页面,使用部署在云端的在线编辑器软件(如Google的Docs),登录相应的账号,就能查看到相应的存储在云端的文档,对文档进行编辑和修改,并将文档上传到云端。只要有网络,用户就可以随时随地访问保存在云端的文件并对其编辑,还可以通过云端的服务管理功能,文档共享和传送文档。文档在线编辑的这些功能对于移动办公有很大的帮助。(3)网络游戏网络游戏要支持大量的用户进行连线对战,游戏开发商需要在全国各地部署很多服务器,管理运营成本很高。云计算和云存储,可以代替现有的多服务器架构,使所有玩家都能集中在一个游戏服务器组的管理之下玩游戏。基于云存储管理和运营网络游戏,可以大幅提升游戏性能,并有效降低游戏开发商的运营成本。6.5.3云存储的应用2.企业级云存储的应用个人级云存储的应用带动了企业级云存储的应用,越来越多的企事业单位都逐渐开始使用云存储来支撑业务的发展与数据的处理。(1)云存储空间租赁服务信息化时代的蓬勃发展产生了海量的数据,这些数据的存储与分析变成了企业的新挑战,数据的存储需要大容量的存储设备,存储设备的管理与数据安全的保障又会让企业消耗大量的人力、物力、财力,对于一些小型企业难以支撑这么一大笔的花费,而云存储可以很好地解决这些问题。企业只需要根据自己公司所产生的数据量,向云存储服务商购买相应的云存储空间,而数据的存储及安全性等问题就交由云存储服务商处理,这样企业可以专注于自己业务的发展,无须耗费成本在数据存储设备的购置,管理和维护上。(2)企业级远程数据备份及容灾随着企业的数据规模不断增长,企业对数据安全的要求也越来越高。企业不仅可以租赁高性能、海量的云存储空间存储数据,云存储服务运营商还可以为企业提供数据备份来远程容灾,当企业本地数据发生了严重的事故(数据丢失,数据损毁),就可以通过远程的备份数据快速进行数据恢复,这样就避免造成无法挽回的损失。(3)视频监控系统近些年来,电信和网通在全国各地建设了很多不同规模的网络视频监控系统,其终极目标是建设一个类似话音网络和数据服务网络一样的、遍布全国的视频监控系统,为所有用户提供远程(城区内的或异地的)的实时视频监控和视频回放功能,并通过此项服务来收取费用。但由于目前城市内部和城市之间网络条件限制,视频监控系统存储设备规模的限制,类似服务一般都只能在一个城市内部,甚至一个城市的某一个区县内部来建设。课后习题1.请讲述Hive与HBase的区别与联系?2.简述Hive产生背景。3.简述Hive的服务结构组成及其对应的功能。4.MySQL数据库针对Hive的用途是什么?5.简述什么是云计算?6.云计算有什么特点?7.描述云存储系统的结构模型。8.简述云存储的实现前提。9.云存储服务系统的应用有哪些分类,并列举一些应用,并对其进行简述。10.简述云存储的特性。课后答案1.答:Hive是一个建立在Hadoop上的数据仓库。HBa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 糖尿病急性并发症的识别与处理
- 泌尿科患者的舒适护理
- 现代诗歌创作入门教程从意象选择到语言陌生化的核心技法详解
- 老年人护理职业素养与培训
- 护理纠纷的法律责任与风险防范
- 痔疮套扎术后护理的未来趋势
- 数字孪生赋能下的智慧园区运营
- 2026 塑型进阶砂锅课件
- 【高中语文】《谏逐客书》课件++统编版高一语文必修下册
- 碳排放交易市场机制
- 高考监考员培训考试题库(含参考答案)
- DL∕T 1989-2019 电化学储能电站监控系统与电池管理系统通信协议
- 屋顶分布式光伏电站施工管理要点
- (高清版)JTG 5210-2018 公路技术状况评定标准
- (正式版)JTT 1218.4-2024 城市轨道交通运营设备维修与更新技术规范 第4部分:轨道
- TB/T 3567-2021 铁路车辆轴承塑料保持架-PDF解密
- 小学三年级语文《赵州桥》完整课件
- 《引航》系列特刊2-《共建绿色丝绸之路进展、形势与展望》
- 王朔现象与大众文化课件
- MZ-T 199-2023 单脚手杖标准规范
- GB/T 4622.3-2007缠绕式垫片技术条件
评论
0/150
提交评论