随着云计算和大数据的普及,越来越多的IT公司选择将自己的大数据解决方案部署在云上面。云计算和大数据的结合带来了什么便利呢?一个典型的大数据云又是如何设计和部署的呢?
下面我们以Google Cloud作为例子,讲解在工业界里边是如何实际应用云。
Google Cloud
Google作为分布式系统和大数据的领导者,开发了众多跨时代的产品。几乎每一个Google的产品,写出一篇paper就可以创造一个开源社区的。
比如MapReduce发布之后,开源社区根据Google的一篇论文开发出的Hadoop,BigTable发布之后,开源社区又进一步开发出Hbase等等。可以说没有Google的创新,就没有现在开源社区的繁荣。
而Google又把自家的产品,都放在Google Cloud上面,形成了丰富多彩的产品线,吸引了非常多的大大小小的公司如Snapchat等来使用。
Google App Engine (GAE)
我们都知道Web项目都需要大量的Web Service以及为之服务的运维系统。Google在云计算领域首次尝试的就是Google App Engine (GAE),相对比当时的Amazon EC2,GAE只需开发者上传软件代码,其他部署将由Google完成。
用户只需要熟悉后端语言开发即部署大规模的集群。Google今年更是推出了GAE Flex,可以帮助用户实现auto-scaling,用户不再需要自己部署负载均衡的服务了。大部分中小企业的网站几乎都可以无缝衔接到GAE上。
BigTable
BigTable的底层是注明的Google File System (GFS),他实现了数据中心级别的可靠的分布式存储。
也是最早的NoSQL数据库的一种。各种网站如果有需要永久存储的数据,一般都可以存放在BigTable里边,Google Cloud会自动帮你做replication,分布在不同的服务器节点里边,这样实现了可靠的分布式存储。
Dataflow
Dataflow的底层实现利用了大名鼎鼎的MapReduce的升级版Flume。
Dataflow特别方便进行大量的批处理,举个例子来说,比如要把所有的用户数据里边的格式都升级一遍,用GAE或者其他service是很难实现的。
Dataflow也提供了特别多的接口,诸如BigQuery, Datastore, BigTable等等也是为了方便各种批处理。最近Google还提供了streaming(流服务)版本的Dataflow,可以实现持续不断的批处理。
BigQuery
BigQuery相当于是Cloud version的SQL,可以方便使用各种复杂的查询语言查找数据。这个尤其适合数据分析师进行各种数据分析,几乎各种SQL的语法都是支持的。
但是BigQuery在scaling上并不如BigTable,并不是面向用户的,所以并不适合直接用来存储用户数据。只适合做一些离线分析,数据来源很多都是Dataflow从BigTable里边dump出来的一些拷贝。
其他服务
Google Cloud还有非常多的其他服务,诸如支持消息队列处理的Pubsub,支持缓存的Memchace,支持Monitoring的Stackdriver,等等完整的构成了一个企业数据云所必须的各种服务,可以满足大到Snapchat级别,小到各种startup的不同业务需求。
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容,以保证您的权益!联系电话:010-58612588 或 Email:editor@mmsonline.com.cn。
- 暂无反馈