作者将在本文中介绍一些BigQuery的基本情况,并结合Paras Doshi最近撰写的关于BigQuery的一些使用体会,对BigQuery来一个深入了解。
什么是BigQuery ?
BigQuery是真正为大数据而生的企业级云计算产品,其核心是云平台的一项基础服务(PaaS),用于对TB级别的大数据进行实时的分析处理。
单纯从技术上来看,BigQuery就是一个在云端的SQL服务(类SQL),提供对海量数据的实时分析;据Google工程师所说,其处理5个TB数据,15秒即可返回结果。
另外,BigQuery是一项付费服务,旨在企业需要大规模数据分析,又无需承担硬件设备的投资的情况下开展大数据业务。每月每1GB数据的存储费用是12美分;实时分析服务每月每处理1GB数据收费3.5美分,每月前100GB的实时数据分析免费。
Google BigQuery价格表
详细价格表请参考:https://developers.google.com/bigquery/docs/pricing
BigQuery初体验——快!
Paras Doshi在博客中写到他对BigQuery做了一个简单的测试,在一个具有115000000行数据的实例中分别使用max、mean、avg等进行查询(或计算),BigQuery都会在几秒内返回结果;并且其中一些包含相对比较复杂的查询,比如where、joins或group by。
事实上,查询所返回结果的效率还取决于查询的类型和SQL语句的效率,但无论如何,结果总是以超乎想象的速度返回。
关于数据源支持——悲催!
BigQuery很快,但还有一个问题,如何将TB级的大数据上传到Google云存储上面。当然,不只是Google,这也是每个基于大数据的云存储服务所面临的问题。
更现实的问题是,如果已经有数据在Amazon S3或微软的云存储上,这些数据是否可以供BigQuery调用来进行分析?
答案是,呃,还不行(这点Google做的没微软好,微软Azure上的Hadoop允许Amazon S3上的数据作为数据源)。甚至,如果你有数据在GAE上,你也需要单独的将数据上传到BigQuery,至少目前是这样。
另外一个悲催的地方在于,BigQuery也无法支持Hadoop高级安装(比如Hadoop on Azure或Amazon elastic MapReduce)。
还有就是,BigQuery只支持CSV格式。当我们谈论大数据时,我们总是把Variability(数据多样化)当成最重要的一点来讨论,很显然,BigQuery所支持的数据类型还不够多样,或者说,非常单一。
总结
从篇幅上看,貌似BigQuery的缺点多于优点。但从大数据的处理能力上来看,其TB级数据查询结果秒出的效率还是让人惊叹的。
另外,更重要的一点是,低门槛和低成本。使用类SQL语言进行数据分析,花上几美元就得到Google服务器集群的性能,这些都大大降低了大数据业务的成本。至少你有一种廉价的方案来回答《关于大数据 CEO们需要了解的五个问题》一文中老板们关于大数据成本的担忧。
还有一点是关于数据上传这个老大难问题。Paras Doshi在测试中使用了350GB的CSV数据文件(分成10GB每个)上传到BigQuery,用时几个小时(感叹米国的大水管),这说明从本地集群到Google云进行数据的迁移也不需要多少耐心,我们已经习惯在下班时间上传大数据,不是嘛?
原文链接:http://inbigdata.com/google-bigquery-first-look-and-try/