最近在寻找更高效、更廉价的OLAP解决方案,看似美好的Google BigQuery成为研究对象之一。
摘自百度的一段话
BigQuery是Google推出的一项Web服务,该服务让开发者可以使用Google的架构来运行SQL语句对超级大的数据库进行操作。
BigQuery允许用户上传他们的超大量数据并通过其直接进行交互式分析,从而不必投资建立自己的数据中心。在周一于加利福尼亚举行的Google Atmosphere会议上,Google透露了BigQuery引擎可以快速扫描高达70TB未经压缩处理的数据,并且可马上得到分析结果。
听着不错。
一、来看看价格,非常诱人!
Pricing Table
Resource | Pricing | Default Limits |
---|
Storage | $0.12 (per GB/month) | 2TB |
Queries | $0.035 (per GB processed)12 | 20,000 Queries Per Day (QPD) 20TB of Data Processed Per Day |
BigQuery supports analysis of datasets up to hundreds of terabytes. If your needs exceed our default limits, we encourage you to about our Premier offering. |
1Charges rounded up to the nearest MB; minimum 1MB data processed per query
2The first 100GB of data processed per month is at no charge
分为两部分:
1.存储:0.12美元每G每个月,默认是2TB,超过2TB可以再和Google商量。
2.
Queries :前100G查询时免费的。超过100G,价格是$0.035 (per GB processed).
个人认为,Queries费用就是扫描多少数据,比如一个表300M,进行一次全扫描,那么Queries就是300M。
目前我们每天产生数据量约为2G,Queries不会超过,且数据只用保留一个月。算算总成本:
0.12*2G*30天*6.5=46.8人民币
太诱人了!
二、看看技术可行性:
BigQuery流程,上传数据==>处理数据==>展现数据
命令格式如下:
# bq load --max_bad_records=1000 713716383215:test.test_download /home/test/test_download.txt "log_time","md5id","product_id","download_source","client_app","ver":"interger","des","url","client_device","product_name"
上传速度:
文件个数 | 文件总大小(M) | 传输时间(分钟) | 平均传输速度(m/s) |
1 | 156 | 25 | 0.104 |
2 | 156+9.2=165.2 | 22 | 0.125 |
2 | 156+9.2+9.2=174.4 | 25 | 0.116 |
速度相当不给力,根据Common-line Tool返回的提示,猜测大部分时间都在等待队列,真正传输数据时间极短。比如上表中第一行,总时间25分钟,22分钟都在等待队列,只有3分钟传输数据。
对公司一天的csv文件进行了统计,总容量约为2G。传输速度按0.116m/s计算,传输时间总计5个多小时。无法忍受!
查询速度:
和上传一样,极大部分都在等待队列,真正查询时间极短。但是总时间无法达到预期,比在oracle数据库上查询慢的多。
SQL语法基本和Mysql相同
$ bq query "SELECT name,count FROM mydataset.babynames WHERE gender = 'M' ORDER BY count DESC LIMIT 6"
报表展现:
还是用的google自家产品,google spreadsheet 。
模式如下,
BigQuery+Google Apps Script + Google Spreadsheets
BigQuery数据库+google自己的脚本语言+Google Spreadsheets报表展现,看着真完美。
公司想要用原来的报表工具进行展示,数据怎么从BigQuery上拿来不是那么简单。
稳定性:
上面提到的东西都要FAN*QIANG使用,万一某天网络隔绝了,还怎么玩儿啊!
总之,BigQuery在国内使用不靠谱。
如果在美国,对于中小公司,个人感觉还是很不错的,有Google做运维,还用担心宕机吗!而且公司不用花钱养DBA,省了不少钱。
阅读(3506) | 评论(0) | 转发(0) |