Cloud Digital Leader(Google Cloud) 無料問題 3 / 10 ・ 分野2: Google Cloud によるデータ トランスフォーメーションの探求
受注を記録する業務データベースで集計クエリを流すと、書き込みが遅くなる問題が起きている。BigQuery の概要ページは、従来のデータベースで起きるこの種の問題を BigQuery がどう避けていると説明しているか。
- ストレージ層とコンピュート層を分け、互いに独立して資源を使う
- 分析用のサーバーを先に確保し、負荷に応じて管理者が手で増やす
- 読み書きと分析を1つの共有リソース プールでまとめて処理する
- 権限の付与や取り消しを、分析処理と同じ資源の上で実行する
正解と解説を見る
正解: A
正解の理由
概要ページによると、従来のデータベースは読み書きの処理と分析の処理で資源を共有することが多く、資源の競合が起きて、ストレージへの読み書き中にクエリが遅くなることがある。BigQuery はデータを取り込み保存するストレージ層と、分析を行うコンピュート層の2つに分かれ、Google のペタビット規模のネットワークで両者をつないでいる。この分離により、各層は相手の性能や可用性に影響を与えずに資源を動的に割り当てられる。データ ウェアハウスとしての BigQuery と、業務処理向けのデータベースとの違いは、この設計の差として説明されている。
違う選択肢
「読み書きと分析を1つの共有リソース プールでまとめて処理する」… 1つの共有リソース プールで読み書きと分析を処理するのは、概要ページが「従来のデータベース」の姿として書いている構成そのものである。競合の原因であって、解決策ではない。
「分析用のサーバーを先に確保し、負荷に応じて管理者が手で増やす」… 概要ページは、分離の結果として「リソースを用意したり手動でスケールしたりする必要がない」と書いている。先に確保して手で増やす運用は、フルマネージドでサーバーレスのデータ ウェアハウスと逆である。
「権限の付与や取り消しを、分析処理と同じ資源の上で実行する」… 権限の付与や取り消しのような管理作業に資源が要ると、共有リソース プールはさらに逼迫する、と概要ページは従来型の課題として挙げている。それを同じ資源で行うのは問題を強める側である。
押さえどころ
分離の設計は、ストレージとコンピュートの改良を別々に、停止時間なしで展開できる点でも効いている。BigQuery のエンジニアリング チームが更新と保守を担うフルマネージドのサーバーレス データ ウェアハウスを成り立たせているのも、この分離だと概要ページは説明している。