1.5 大数据与云计算的关系
大数据IT架构的基本特征,首先必须是可以横向扩展的,因为单点的技术无法承受大数据的要求。既然实现了通过横向扩展的架构来提升性能,这就没有必要在每个节点上花费太多的钱。它的高可用性是通过软件设计和架构设计来实现的,而不是通过传统的高性能、高可用性的高端硬件设备来实现的。所以,从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。大数据必然无法用单台的计算机进行处理,必须采用分布式架构。而云计算的分布式处理、云存储和虚拟化技术为大数据提供了IT基础,保证了大数据应用的高效运行。
正如图1-2所示,未来的趋势是,云计算作为计算资源的底层,支撑着上层的大数据处理,而大数据的发展为云计算的落地找到了更多的实际应用。大数据和云的融合将是重大的趋势,这两个技术是相辅相成的关系。从目前部署上看,大概70%的大数据系统在企业的内部,其中一些是在企业的私有云上。当然,大数据也可以部署在公有云上,比如:AWS、Azure和GCP(Google云平台)提供了Hadoop基础设施服务,GCP、IBM、Oracle、Pivotal CF、Microsoft Azure和Qubole提供了托管式Hadoop服务(平台即服务)。有些IT企业也提供了云上的分析即服务的功能。还有一种大数据系统部署是在一体机上,大概占到5%左右的市场份额。提供Hadoop一体机的厂商有DELL、EMC、ORACLE、Teradata和惠普。
我们以Amazon的AWS为例来看一个云计算和大数据结合的实例。AWS总体上成熟度很高,Netflix、Pinterest、Coursera都在使用AWS。如图1-3所示,S3是简单面向对象的存储,DynamoDB是对关系型数据库的补充,Glacier对冷数据做归档处理,EC2就是基础的虚拟主机,Elastic MapReduce(EMR)直接打包MapReduce来提供计算服务,使用EMR可以按需组建一个由节点组成的集群。这些集群用于Hadoop的安装和配置。Amazon提供了非常类似Kafka的服务,称之为Kinesis。它同时作为使用EC2进行分布式流处理的基础。
图1-3 AWS