PDE - Storing Data - Section 3.1

Select appropriate storage systems by analysing data access patterns and choosing among BigQuery, BigLake, AlloyDB, Bigtable, Spanner, Cloud SQL, Cloud Storage, Firestore, and Memorystore.

Analyse data access patterns to select the appropriate storage system among BigQuery for analytics, Bigtable for high-throughput low-latency NoSQL, Spanner for globally distributed relational data, Cloud SQL for regional relational workloads, Firestore for document storage, and Memorystore for in-memory caching.

BigtableSpannerCloud SQLFirestoreMemorystore

Practice question for this objective

Free sampleStoring Datahard

An analytics platform team needs BigQuery to query Parquet files that already live in Cloud Storage, while keeping a single set of fine-grained access controls including row-level filters and column-level masking that match the controls used on native BigQuery tables. The Cloud Storage data must remain the system of record for an external Spark pipeline, and the BigQuery interface must enforce the same policies regardless of whether the query runs from BigQuery or from a connected Dataproc Spark job. Which approach best meets these requirements?

  • ACreate BigQuery external tables over the Parquet files and configure row access policies and column policy tags on those external tables, accepting that connected engines bypass the policies.
  • BCreate BigLake tables over the Parquet files in Cloud Storage and apply row-level access policies and column policy tags so that BigQuery and connected engines such as Spark enforce the same controls. Correct
  • CLoad the Parquet files into a native BigQuery table on a schedule, apply row access policies and column policy tags there, and keep the Cloud Storage copies only as a cold archive for the Spark pipeline.
  • DUse object access controls on the Cloud Storage bucket combined with signed URLs for the Spark job, and rely on BigQuery dataset-level IAM for analyst access to the Parquet files.
Select BigLake tables to apply unified fine-grained BigQuery access controls across Cloud Storage data queried by BigQuery and connected engines. BigLake tables let BigQuery query data stored in Cloud Storage, including Parquet, while applying the same fine-grained access controls used on native tables, including row access policies and column policy tags. The BigLake connector for engines such as Spark on Dataproc reuses those policies through delegated access, so the same governance applies regardless of which engine runs the query, while Cloud Storage remains the system of record.

Why A is wrong: Tempting because external tables do allow querying Parquet from BigQuery, but standard external tables do not support the same fine-grained policy surface and do not extend enforcement to engines like Spark in the way that BigLake does.

Why B is correct: Correct because BigLake tables over Cloud Storage support the same BigQuery fine-grained access controls and extend that enforcement to connected open-source engines through the BigLake connector, which is the only option that meets both requirements.

Why C is wrong: Tempting because native tables clearly support fine-grained controls, but loading duplicates storage and breaks the requirement that Cloud Storage remains the system of record for the external Spark pipeline.

Why D is wrong: Tempting because Cloud Storage IAM is familiar, but bucket-level controls are coarse, cannot express row or column policies, and force two divergent access models for BigQuery and Spark instead of one.

See more PDE practice questions, answers explained.

More in this domain

Back to all Storing Data objectives, or the PDE cert hub.

Examworthy is not affiliated with or endorsed by Google Cloud. Original, blueprint-aligned practice material only.