1、极客头条精选:Google 曝光了近实时数据仓库系统 Mesa2014-08-09 刘江 CSDN9 月在杭州举行的数据库学术会议 VLDB 2014 上,Google 的工程副总Shivakumar Venkataraman 与正在 Google 访问的 UCSB 教授、IEEE 与 ACM Fellow Divyakant Agrawal 将做主题演讲,介绍 Google 的实时分析数据仓库Mesa。在先期公开的论文“Mesa:Geo-Replicated, NearReal-Time, ScalableData Warehousing”(免梯子版本)中这样描述 Mesa 的开发初衷和特点
2、:Mesa 是一个高度可扩展的分析型数据仓库系统,用于存储 Google 互联网广告业务相关的关键衡量数据。Mesa 的设计目的是满足一系列复杂而有挑战性的用户与系统需求,包括近实时的数据获取和查询、高可用性、可靠性、容错和(大规模数据与查询量的)可扩展性。Mesa 可以应对 P 级数据,每秒处理数百万行更新,每天抓取数万亿行以支持数十亿查询。Mesa 是跨多个数据中心异地复制的,即使整个数据中心故障,仍然能够以较低延迟返回一致和可重复的查询结果。针对数分钟更新吞吐量、跨数据中心等等严苛需求,已有的商业数据仓库系统(处理周期往往以天和周来计算)和 Google 的解决方案包括BigTable、
3、Megastore、Spanner 和 F1 都无法满足要求。 BigTable 无法提供必要的原子性,Megastore、Spanner 和 F1 无法满足峰值更新需求。此外,Google 自己开发的 Tenzing、Dremel,以及 Twitter 开发的 Scribe、LinkedIn的 Avatara、 Facebook 的 Hive 以及 HadoopDB 等 Web 规模数据仓库处理的都是批量负载。论文中提到比较类似 Mega 的系统是 Stonebreaker 等开发、已被 HP 收购的Vertica,但缺乏跨数据中心的功能。 Bill Graham 在 2012 年 Hado
4、op Summit的演讲中提到过,Twitter 的数据分析系统在用 Vertica:他还比较了 Vertica 与 Hadoop 的优劣:从 Vertica 的用户列表来看, Zynga、Funzio、TinyCo 等许多游戏公司,Etsy等互联网新贵也是 Vertica 用户。之前极客头条推过, Facebook 也在用Vertica。其他相关工作中,Thrifty 针对的数据量较小,且应用于多租户场景; Shark 是内存计算;MaSM 利用了闪存。Mesa 基于 BigTable(元数据存储)和 Colossus(数据文件),底层也用到了MapReduce(谁说 Google 好几年前就不用 MR 了?),所用的分布式同步协议基于 Paxos。controller/worker 框架的架构如下:查询处理框架:多数据中心的更新处理架构:GigaOM 的报道中提及, Hadoop 社区的 Doug Cutting 等都在密切关注 Google的新动向,Mesa 如果有高质量的开源版本,也将非常受欢迎。当然,Google也很有可能像 BigQuery 之于 Dremel、Dataflow 之于 MillWheel 那样,在云中提供 Mesa 类似功能。毕竟,Mesa 的论文中也强调了,虽然是为 Google 数百亿美元的广告业务服务的,但 Mesa 是一个通用数据仓库解决方案。