2014リンクを取得FacebookTwitterPinterestメール他のアプリ大量のデータを取り扱う時、何が大変かっていうと大量だからだよね。データが小さければ、誰もそれほど悩まない。言いながら、「大量」ってどのくらい?ってことになると、大抵の場合メガバイトかギガバイトレベルなわけで、そんなんビッグデータでもなんでもないじゃん。ことになるわけなんだけどさ。企業が持っているデータはその程度なんだけど、でもやっぱりそれでも大変なところがあって。集計する軸とか分析する軸とかがどうしても多くなってくるので、そうすると何百回もデータをなめまわすことになる。なんやかんやで、結局アホみたいに時間がかかってしまう。下手したら1日分の集計が1日で終わらないとか。車載機からの情報がたんまり集まってきているとする。そこから時間帯別の稼働率を調べたい。そこから危険運転の確認をしたいとか。集まっている情報には、エンジンの状態とか、走行距離とか、加速度センサーとか、緯度経度とか。いうシンプルなその時が刻まれているわけだ。時間帯別の稼働率なら、集まってきたデータから、時間帯毎に動いていたかどうかを集計すればいい。危険運転なら、急加速/急停止とかの回数や場所を調べればいい。集まってきているデータ全体は、絶望的にデカかったとしても、集計したい軸にとっては全てが必要なわけじゃない。する?そう、デッカイデータから、必要な部分を取り出す。さっきの例だと、アホみたいにデカイデータから、時間帯別の稼働時間を抜き出す。元データがテラバイトだろうが、ペタバイトだろうが、そんな感じで抽出してしまうと結果はキロバイトとか、そんなちょっとしたデータになる。reduceの出番的な雰囲気が漂っていた。reduceは、慣れてしまえばなんてことないものなんで、後はひたすら根性途切れないように黙々とやるだけだけど。なんつうか、環境構築とか、そうは言ってもひたすらプログラム準備していくわけだし。Hiveとかいろいろ出てきても、なんかお手軽感は全くないし。いうんじゃないんだよな。いうことで、ウンザリして放り出してしまっていた人が多かったんじゃないかと。reduceの言い出しっぺは、Googleなわけだ。reduceとか使ってないもんね。」という波動砲発言を発表したので、まじかよーウェーブがスタジアムを数周したのが今年の夏。ま、その発表はDataflowというサービスに関することだったんだけど、それ言う前にBigQueryで充分そんな雰囲気を醸し出していたわけなので、Googleからしたらまじかよーとか、何をいまさらってところなんだろうな。このBigQuery。さっきのどデカイデータをちょっとしたデータに変えるってのに最適。このBigQueryも何台ものサーバー使って超高速で処理してくれる仕組みなわけだけど、サーバーを何台使うとか、そういうことはよろしくやってくれるので、わずらわしいことがほとんどない。こいつを使うためには、データをBigQuery環境にぶちこむ。ぶちこまれたデータは、消すまで保存される。そのデータ使って、シンプルなQuery使ってデータを絞り込む。絞り込んだデータは、再びBigQueryに戻すことができるので、そいつ使ってまたまた処理を続けることもできる。終わったらデータを取り出して、後はExcelとかなんでも好きなように使えばいい。メンドくさいことを諸々省略できる。このデータをBiguQuery環境にぶちこむところと、データを取り出すところは、お金がかからない。Query使ってデータを絞り込むところは、検索結果の毎月合計がテラバイトを超えないと無料。テラバイトを超えるとテラバイトあたり5ドル。保存は、毎月ギガバイトあたり2セント。感じで、多分普通の用途だったら、毎月10ドルいくかいかないかだろうな。あー、ちなみにとりあえず使ってみようと思うなら、ぶちこむデータを小さめにすればいい。したら結果も小さくなるので。経験的に言うなら、ガンガン使っても月額請求は保存料の2セントだけ請求されて終了。