BigQuery
BigQueryはビッグデータ解析SaaSです。立ち位置としてはAWSで言うところのRedshiftに相当するようなサービスですが、
筆者の周囲ではGCPの中で一番最初に浸透して行ったサービスがBigQueryです。皆の課題を解決する魅力と力の溢れているサービスだからでしょう。BigQueryはDevelopers ConsoleのBig Dataの中にあります。
![図2 BigQueryはDevelopers ConsoleのBig Dataの中にある 図1 BigQueryはDevelopers ConsoleのBig Dataの中にある](/assets/images/admin/serial/01/google-cloud-platform/0006/thumb/TH400_001.jpg)
BigQueryの特徴
BigQueryの技術的な特徴としてはカラム型DBMSです。Googleの持つ分散技術を背景に、
提供形態はSaaSで、
BigQueryではデータを取り扱うためにクエリを使います。クエリはSQLライクな文法なので、
検証してみたいけれどデータがない、
GitHubのリポジトリデータやWikipediaのリビジョンヒストリなどが用意されています。
![図2 GitHubのリポジトリデータやWikipediaのリビジョンヒストリなどが用意されている 図2 GitHubのリポジトリデータやWikipediaのリビジョンヒストリなどが用意されている](/assets/images/admin/serial/01/google-cloud-platform/0006/thumb/TH400_002.jpg)
今回は313,797,035行
試しにcontributor_
SELECT username_prefix, COUNT(*) AS cnt FROM (
SELECT LEFT(contributor_username, 3) AS username_prefix
FROM [publicdata:samples.wikipedia]
WHERE contributor_username IS NOT NULL
) GROUP BY username_prefix ORDER BY cnt DESC LIMIT 100;
すると313,797,035行
![図3 35.7GBの中から2.49GBのデータを走査し結果、この間わずか3.1秒 図3 35.7GBの中から2.49GBのデータを走査し結果、この間わずか3.1秒](/assets/images/admin/serial/01/google-cloud-platform/0006/thumb/TH800_003.jpg)
活用例
バッチ処理でガッツリとデータ投入して解析する流れで使うこともできますが、
Streaming Insertsの実装方法はfluentdが多いようです。ログの吸い上げにfluentdを使いfluent-plugin-bigqueryプラグインでBigQueryにデータ投入するのが定番です。
サーバからほぼリアルタイムに収集したログを毎分集計し、
なおGoogle Analytics Premiumでは生データをBigQueryに溜めて自分で好きなように解析できるようです。
価格
主にデータ容量、
データ容量は1GBあたり月$0.
データインポート
データ投入について上記の通りバッチ処理的なデータ投入は無料ですが、
クエリ実行時のデータ操作は最初の1TBは無料、
データサイズの計算方法
データサイズはデータ型によって決まります。 各データ型のデータサイズは以下のとおりです。
データ型 | データサイズ |
---|---|
STRING | 2 bytes + the UTF-8 encoded string size |
INTEGER | 8 bytes |
FLOAT | 8 bytes |
BOOLEAN | 1 byte |
TIMESTAMP | 8 bytes |
RECORD | 0 bytes + the size of the contained fields |
制限
クエリ、
Streaming Insertsは1行20KBまで、
おまけ:GCPのAndroidアプリができました!
GCPを管理できるAndroidアプリができました。まだBETAですが、
![図4 Cloud Console 図4 Cloud Console](/assets/images/admin/serial/01/google-cloud-platform/0006/thumb/TH400_004.jpg)
アプリではリソース状態や課金額の確認などができます。
![図5 Cloud Consoleではリソース状態や課金額の確認などができる 図5 Cloud Consoleではリソース状態や課金額の確認などができる](/assets/images/admin/serial/01/google-cloud-platform/0006/thumb/TH400_005.jpg)
緊急時に専用のアプリで状況を確認できるのはとても便利ですね。
おわりに
本連載では全6回に渡りGoogle Cloud Platformの各サービスを紹介してきました。現時点ではクラウドと言えばAWSという市況ですが、