下記のメモ。図は下記URLのものを引用。
https://medium.com/google-cloud/the-12-components-of-google-bigquery-c2b49829a7c7
BigQueryの主要なコンポーネントについて顧客視点(利用者視点)からまとめている。
Serverless Service Model
BigQueryはサーバレスモデルで、VMやCPU/RAMのサイジングをする必要がない。BigQueryの計算能力はすごい伸縮性があり、数秒で数万コアまでスケールする。
Opinionated Managed Storage Engine
BigQueryはすばらしいストレージエンジン、継続的に進化し最適化するストレージを備えている。
GFSの後継であるColossusは耐久性があり、高性能でスケールする。BigQueryはデータを独自のCapacitorフォーマットでColossusにストアする。
BigQueryのCapacitorは多数の最適化をしている。
https://cloud.google.com/blog/big-data/2016/04/inside-capacitor-bigquerys-next-generation-columnar-storage-format
Dremel Execution Engine & Standard SQL
BigQueryはDremelの上で実行されている。Dremel自身は進化し、paperで記述されていたころから変わっている。最近ではStandard SQLのサポートもDremelでされるようになった。
The Jupiter Network and Separation of Storage & Compute
Jupiterにより、BigQueryは中断なしにストレージからデータを読み取り、計算へ処理を投げることができる。
https://cloud.google.com/blog/big-data/2016/01/bigquery-under-the-hood
Enterprise-Grade Data Sharing
BigQueryではデータを他の組織にシェアできる。
Public Datasets, Commercial Datasets, Marketing Datasets, and FREE TIER!!
パブリックデータセットが公開されていたり、コマーシャルデータセットでマネタイズしたり、Google AnalyticsやAdowords, DoubleClickやYoutubeのデータはワンクリックでBigQueryにロードできたりする。
また永久のfree tierがあり、10GBのストア、1TBまでのクエリ(1ヶ月で)は無課金で利用できる。
Streaming and Batch Ingest
1秒間に数百万行のストリームデータをBigQueryにストアでき、分析はすぐに行える。
Federated Query Engine
データがBigtableやGCS,Google Driverにある場合、データを動かさずBigQueryから直接クエリをかけられる。
https://cloud.google.com/bigquery/external-data-sources
UX, CLI, SDK, ODBC/JDBC, API
典型的なアクセスパターンはREST APIをラップしたもの。
Pay-Per-Query AND Flat Rate Pricing
BigQueryは2つのコストモデルがある。1つは使用した分だけ払うクエリのコストと、もう一つはエンタープライズレベルでの定額モデル(Flat Rate Pricing model)。定額モデルだと、ある一定額支払うとクエリが投げ放題になる。
IAM, Authentication and Audit Logs
BigQueryはIAMポリシーに準拠している。そしてAudit LogsではBigQuery上で何が行ったかトレースできる。
https://medium.com/google-cloud/visualize-gcp-billing-using-bigquery-and-data-studio-d3e695f90c08