MESA:谷歌揭开跨中心超速数据仓库的神秘面纱

大数据文摘翻译:于丽君/ 校对:瑾儿小浣熊(转载请保留)

摘要: 谷歌近期发表了一篇关于最新大数据系统的论文,是关于Mesa这一全球部署的数据仓库,它可以在数分钟内提取上百万行,甚至可以在一个数据中心发生故障时依然运作。

谷歌正在为其一项令人兴奋的产品揭开面纱,它可能成为数据库工程史上的又一个壮举,这就是一个名为Mesa的数据仓库系统,它可以处理几乎实时的数据,并且即使一整个数据中心不幸脱机也可以发挥它的性能。谷歌工程师们正在为下个月将在中国举行的盛大的数据库会议准备展示其关于Mesa的论文。

该篇论文的摘要非常简练的概括了Mesa建立的意义和它所具备的的能力:

“Mesa是一个高度可扩展的分析数据仓库系统,它存储着涉及谷歌网络广告业务的关键度量数据。 Mesa被设计以满足用户和系统的各种复杂有挑战性的需求,这其中包括近乎实时的数据提取和查询能力,以及满足对大规模数据和查询数量的高度可调用性、可靠性、容错性和可延展性。具体来讲,Mesa处理PB(Petabytes)级数据,每秒处理数百万行的更新,并且服务于十亿量级的查询,这些查询每天需要提取数万亿行数据。Mesa是跨多个数据中心、地缘重复的(geo-replicated)系统,并且即使在一个数据中心整体崩溃的情况下,仍可以低延迟提供一致、可重复的查询结果。”

本质上,Mesa是一个ACID兼容的数据库(换言之,如果一个人查询,他会得到正确数据),这样构造是从速度、尺度和可靠性方面进行考量的。正如上面所述,它的设计理念是用来处理关于谷歌广告业务的相关需求(服务于内部用户和面向用户的前端查询服务),但是也可以在其他场合作为通用数据仓库系统来运行。

如果你仍在质疑为什么在已经有了琳琅满目的其他数据库系统之后谷歌仍然非要建立Mesa,那么该篇论文作者的以下解释或许可以让你茅塞顿开:

BigTable无法提供Mesa的应用所需的原子性(atomicity)。Megastore, Spanner和F1(这三个都是旨在完成在线交易过程)确实可以对于地缘重复的数据提供强大的一致性,但是它们不支持Mesa客户所需要的峰值更新吞吐量。与此同时,Mesa却可以利用BigTable和Spanner下的Paxos技术对元数据(metadata)实现存储和维护。

谷歌另有一个名为Dremel的系统,它是BigQuery服务的基础,目的是为只读数据提供快速、特定的查询。该篇文章也注意到由供应商、Facebook和 Twitter搭建的多种数据库系统,但是同时指出它们是为大规模数据载入设计的,而在Mesa中载入同样数据只需要几分钟。 该论文中也提到:“Vertica是与Mesa功能接近的系统,即支持对交易数据进行动态更新、实时查询。”

“然而,”该文继续指出,“就我们所知,这些商业产品或者产品系统中没有一个是用来管理跨多个数据中心的重复数据集的。并且也尚不能断言这些系统是否真的允许云计算或者具有弹性。他们可能会有以有限能力来动态配置或者停用资源来处理载入波动。

图6: 在一个多数据中心Mesa的配置中的更新过程

该论文详述了Mesa工作的机制:即以表格形式的数据存储方式、数据查询方式和分布的架构——其中一个极为有趣的部分是关于硬件。文中提出了如下观点: Mesa的前身系统是在扩展代价昂贵的企业级硬件上运行的,而Mesa运行于谷歌的标准云设备,据推测是由谷歌自行研发并建造的。

从长远看,Mesa应该可以被证明不仅仅是另一个数据仓库系统。Hadoop社区的成员——尤其是Cloudra的Mike Olson 和Doug Cutting对此的观点是:谷歌正在探索Hadoop可能开发出的新方向,他们相信一个高质量开源版本的Mesa将会很可能受到热捧。

当然到了那个时候,就会有云计算的一席之地了。随着谷歌继续以开疆拓土的姿态面对亚马逊网络服务和微软Azure的分羹,技术将变得和低廉的价格一样举足轻重。 谷歌的声名鹊起主要归功于它的尖端分布式系统,但是它所开发的诸如Mesa这样的服务(同样的还有BigQuery和Dataflow)将会成为和云竞争者之间角力的重要砝码。

您可以观看以下的视频来获取谷歌SVP和技术人员Urs Hölzle在今年六月的结构大会(Structure conference)上关于谷歌设备的介绍。Structure 2014: Google cloud platform: lessons learned from the world's largest cloud https://www.youtube.com/watch?v=I9R4P0TLViA

摘自:gigaom

原文发布于微信公众号 - 大数据文摘(BigDataDigest)

原文发表时间:2014-09-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏包子铺里聊IT

回顾 <程序员练级攻略>

大约四五年前,小编偶然在网上看到这篇 <程序员练级攻略> (首发于酷壳网), 文笔流畅,内容实在,十分受用。到今天,技术届的发展天翻地覆,再来回顾这篇“大文”,...

7977
来自专栏大数据和云计算技术

计算机系统结构变革在即?

15年6月,intel正式宣布167亿美元收购FPGA生产商Altera。此交易为该公司有史以来涉及金额最大的一次收购案例。167亿美金不是小数目,intel ...

3237
来自专栏我是攻城师

无论是云计算SaaS,PaaS还是IaaS,拼的都是运维!

6184
来自专栏架构专栏

互联网企业开发三年月薪15K,在第四年达到30K需要怎么做?

虽然我现在做反思和调整,也不算太晚,但如果早一点醒悟,能够静下心来想想,现在一定更轻松。

2446
来自专栏魏艾斯博客www.vpsss.net

Vultr 取消支付宝付款方式

5542
来自专栏牛客网

前端校招不要只关注面经,项目经验也需要准备

【每日一语】在年轻的时候,在那些充满了阳光的长长的下午,我无所事事,也无所惧怕,只因为我知道,在我的生命里有一种永远的等待。挫折会来,也会过去,热泪会流下,也会...

1482
来自专栏极限编程

我在ThoughtWorks中的敏捷实践

E项目是一个在线的物资跟踪监控系统。由ThoughtWorks团队为客户提供的一套完善的软件交付服务。

1343
来自专栏CDA数据分析师

【扫盲】五分钟了解Python

? 前言 Python 是当下十分流行的编程语言,那么用 Python 可以做些什么? 有些什么优势、缺点?在这篇文章中都能找到你的答案。 如何描述 Pyth...

2177
来自专栏逻辑熊猫带你玩Python

“推荐给新手的几个编程酷站,最后一个最骚包!”

gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。

2173
来自专栏信安之路

如何成为一个安全架构师

如何成为一个安全架构师,安全架构师需要什么样的能力?首先要理解什么是安全架构,安全架构包含哪些组件,如何将这些安全组件合理的组织在一起形成一定的战斗力,这是非常...

3300

扫码关注云+社区

领取腾讯云代金券