数据结构|AIoT技术分析:云计算( 二 )


云计算的关键技术
云计算作为一种数据密集型的新型超级计算,它以数据为中心,其技术实质是存储、计算、服务器、应用软件等IT软硬件资源的虚拟化,拥有数据存储技术、数据管理技术、虚拟化技术几个关键技术。
数据存储技术
云计算作为数据密集型的超级计算,它要存储海量的数据,因此数据存储的安全可靠与数据读写的经济高效是云计算的基础。云计算采用分布式存储技术把海量的数据存储在服务器集群中,同时为一份数据存储多份副本,采用冗余存储的方式和数据加密技术来保证数据的安全可靠性;云计算用高吞吐率和高传输率来保证并行的为大量用户提供服务。云计算系统中广泛使用的数据存储系统是谷歌非开源的GFS和Hadoop团队实现 HDFS。
GFS即谷歌文件系统,是一个可扩展的分布式文件系统。用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,但可以提供容错功能。它可以给大量的用户提供总体性能较高的服务。
GFS主要分为两类节点:一个主服务器节点和多个块服务器节点。主服务器节点主要存储与数据文件相关的元数据.元数据包括一个能将64位标签映射到数据块的位置及其组成文件的表格,数据块副本位置和哪个进程正在读写特定的数据块等。主服务器节点会周期性地接收从每个块服务器节点传来的更新来让元数据保持最新状态。块服务器节点主要用于存储数据,数据文件会以每个默认大小为64MB的数据块的方式存储在块服务器上。每个数据块都有一个唯一的64位标签,并且每个数据块在整个分布式块服务器上有多个副本。
GFS这种文件系统使客户与主服务器的交换只限于对元数据的操作.所有数据方面的通信都由客户直接和块服务器联系,这大大提高了系统的效率,防止主服务器负载过重。
数据管理技术
计算需要对海量的分布式数据进行处理、分析,因此,数据管理技术必须能够高效地管理大量的数据。云计算系统中的数据管理技术主要是开源数据管理模块HBase。BigTable是建立在GFS、Scheduler、LocK Service 和MapReduce之上的一个大型的分布式数据库,与传统的关系数据库不同,它把所有数据都作为对象来处理,形成一个巨大的表格,用来分布存储大规模结构化数据。BigTable采用多级映射的数据结构,并支持大规模数据处理、高容错性和自我管理等特性,提供PB级的存储能力,使用结构化的文件来存储数据,并整个集群每秒可处理数百万的读写操作。多级映射的数据结构是一个稀疏的、多维的和排序的Map,每个单元格由行关键字、列关键字和时间戳来进行三维定位。
BigTable主要分为两部分:其一是Master节点,用来处理元数据相关的操作并支持负载均衡。其二是Tablet节点,主要用于存储数据库的分片,并提供数据访问,同时Tablet是基于名为SSTable的格式,对压缩有很好的支持。
虚拟化技术
虚拟化技术是云计算、云存储服务得以实现的基础和关键。虚拟化将原本运行在真实环境中的计算机系统或者组件运行在虚拟出来的环境中,它通过在硬件资源、操作系统和应用程序这些不同的层次之间构建一个虚拟化层,这个虚拟化层做为中间层连接上下两层,它向上层提供下层相同或类似的功能,这样上层不直接运行在下层环境中,而是运行在这个虚拟化的环境层中。虚拟化层解除了上下两层的耦合关系,使上层的运行不依赖于下层的具体实现。
虚拟化可以节省开销、整合服务、使资源得到最大利用。虚拟化技术包括将单个资源划分成多个虚拟资源的裂分模式和将多个资源整合成一个虚拟资源的聚合模式。虚拟化技术按照IT资源可分为基础设施虚拟化、系统虚拟化和软件虚拟化等,根据对象可分成存储虚拟化、计算虚拟化、网络虚拟化等。