2/7 に行われたdots. Summit 2015のGoogle 佐藤さんの『大規模並列検索サービスGoogle BigQueryについて』でも話されていたのですが、Google BigQueryはインデックスを使わず、Googleの数百のサーバーで並列に処理してQuery結果を高速に返えせる。
他クラウドのデータウェアハウス製品の例を挙げると、dw1.8xlargeでも最大100まで。これを見るだけでもGoogle BigQueryはコストパフォーマンスはいいことがわかる。
また、正規表現で使った抽出も、高速とのこと。
そこで、個人ブログのnginxのアクセスログをfluent-plugin-bigqueryでGoogle BigQueryにインサートするデータでどの程度のものか試してみました。
※nginx_datasheet.access_logには、272,427件ほど入っています。
SELECT ua, count(*) as count FROM [nginx_datasheet.access_log] WHERE REGEXP_MATCH(ua, r'.*Windows.*') GROUP EACH BY ua;
アクセスログのUser AgentにWindowsが含まれるレコードは、624件を以下の通り、4sで返してくれる。
Query complete (4.2s elapsed, 26.3 MB processed)
また、Google Cloud PlatformのVMインスタンスは、ライブマイグレーション対応しています。※AWSでは、最近us-east-1限定で対応したばかり。