Google Cloud Platform(GCP)ではビッグデータ分野で七つのサービスを提供している(図1)。今回はそのうち、データ蓄積とデータ処理・分析の機能を提供する、BigQueryとCloud Dataprocを解説する。

図1 GCPのビッグデータサービス
今回はBigQueryとCloud Dataprocを取り上げる
[画像のクリックで拡大表示]

 簡単にいうと、BigQueryはデータウエアハウスのサービス、Cloud Dataprocは並列処理オープンソースソフト「Apache Hadoop/Spark」のサービスである。以降で順に見ていこう。

データウエアハウスサービスBigQuery

 BigQueryは高い拡張性と処理能力を備えた、データウエアハウスのマネージドサービスだ。ストリーミングのデータ収集機能、データを保存するストレージ、クエリーエンジンとしてのデータ分析機能を提供する。

 このうちストレージに関しては、実質的に無限にスケールが可能である。さらにデータ分析機能については、SQLライクなクエリーを利用でき、TB級のデータへのクエリーでも数秒で処理して結果を返す性能を備える。

 BigQueryは、2010年に米Googleが発表した論文で解説している「Dremel」の技術を採用している。Dremelはカラム型データストアーにデータを格納し、スキャン対象の列データにのみアクセスする。これにより、アクセスするデータを必要最小限に抑えられる。さらに、クエリーを処理するクエリーリソースをツリー状に構造化した「ツリーアーキテクチャー」を採用することで、大規模な分散処理を実現している(図2)。

図2 BigQueryの基本概念
[画像のクリックで拡大表示]

 2018年4月には、BigQueryのデータの配置場所としてGCP東京リージョンを指定できるようになった。リージョンレベルで配置先が指定できるようになったのは東京リージョンが初めてであり、日本のユーザーのニーズに応えたといえる。

BigQueryの基本概念

 BigQueryでは、ストレージとクエリーリソースは自動的にスケールするので、ユーザーはそれらを特に意識せず利用できる。意識する必要のある、BigQueryの主なリソースは、テーブル、データセット、ビュー、ジョブの四つだ。以下に簡単に説明する。

 テーブル

 データの格納単位であり、フィールド名、データ型、その他の情報を記載したスキーマによって定義される。

 データセット

 個々のテーブルを論理的に集約できる単位であり、データロケーションの指定やアクセス制御は主にデータセット単位で実施する。

 ビュー

 クエリーによって定義される仮想的なテーブル。

 ジョブ

 ユーザーが作成したアクションであり、データ取り込み、データエクスポート、クエリー、データコピーなど、BigQueryがユーザーの代わりに実行する操作の単位。

この先は有料会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら