【正解】D
【0からの解説】
①前提知識
Spanner はノード数(処理ユニット数)を増やすことで処理能力(読み取り / 書き込みスループット)をほぼ線形に拡張できる分散データベースです。Spanner には「マネージド オートスケーラー」が組み込まれており、インスタンスの設定で有効にすると、CPU 使用率とストレージ使用率の目標値に基づいてコンピューティング容量を自動的に増減します。最小 / 最大のノード数(または処理ユニット数)を指定でき、最大値を設定することで、負荷の急増時にどこまで拡張するか(とコストの上限)を制御できます。スケーリングはオンラインで行われ、ダウンタイムはありません。
②要件と制約の整理
・セールのピーク期間中、書き込み量が多く、バースト的に増減する。
・その期間中も「一貫した(安定した)データベース パフォーマンス」を確保したい。
③正解が要件を満たす理由
マネージド オートスケーラーを有効にし、最大ノード数をピーク時の書き込み量を処理できる値に設定しておけば、書き込みの急増に合わせて自動的に容量が増え、負荷が下がれば縮小されます。手動の介入なしに性能を安定させつつ、ピーク以外の期間のコストも抑えられるため、要件に最も合致します。
【誤りの選択肢】
A:Spanner はそれ自体が自動的にデータをスプリットに分割して複数のサーバーに分散する(自動シャーディング)データベースです。アプリケーション側で複数の Spanner インスタンスにシャーディングすると、インスタンス間のトランザクション整合性が失われ、運用も複雑になります。Spanner の強みを捨てるアンチパターンです。
B:読み取り専用トランザクションはロックを取得せずに読み取りを行うため読み取り性能の向上には役立ちますが、問題は書き込みのバーストであり、書き込み性能の安定化には効果がありません。
C:インターリーブ テーブルは、親子関係のある行を物理的に近くに配置して結合や関連行の更新を効率化するスキーマ設計の手法で、特定のアクセス パターンには有効です。しかし、バースト的な書き込み量の増加に対して処理能力を増やすものではなく、ピーク時の性能の安定を保証しません。
【参考】
マネージド オートスケーラー | Spanner自動スケーリングの概要 | Spanner