professional-cloud-data-engineer
Hybrid and multi-cloud integration connects BigQuery to external business intelligence and visualization tools located on-premises, in other clouds, or with partner environments. The goal is enabling secure, performant connections without moving data from its source.
For tools with native integration like Tableau, a direct connection uses the BigQuery API with OAuth 2.0 authentication. Google provides ODBC and JDBC drivers for tools and custom applications that do not have native BigQuery support, allowing them to connect as if BigQuery were a traditional database.
Securing cross-network connections relies on two Google Cloud frameworks. VPC Service Controls creates a security perimeter that restricts resource access to specific networks and helps prevent data exfiltration. Private Service Connect provides private access to BigQuery from on-premises networks or other VPCs without exposing traffic to the public internet.
BigQuery BI Engine accelerates SQL queries by caching frequently accessed data in memory. It integrates directly with the BigQuery API, so any BI tool like Looker Studio, Tableau, or Power BI can use it without modification. To use BI Engine, you create a reservation that defines dedicated storage capacity at the project and region level.
Dashboard performance improves further when BI Engine combines with table partitioning, clustering, and materialized views. Partitioning by time allows dashboards showing only recent data to load only the latest partitions. Clustering organizes data in columns accessed together, improving retrieval efficiency. Materialized views pre-join and flatten data into optimized structures, eliminating repetitive joins.
Exam tip: BI Engine works best with simpler dashboard queries that spend most of their execution time processing raw data. Minimize joins in your queries; BI Engine is optimized for queries where a large fact table joins with smaller dimension tables.
Authentication for visualization tools connects through OAuth 2.0 access tokens or service account private keys. Authorization uses Identity and Access Management (IAM) roles applied at the dataset, table, or view level. BigQuery supports predefined roles, custom roles with granular permissions, and basic roles such as Owner, Editor, and Viewer. For sensitive data, row-level security and column-level security restrict access, while authorized views let users query data without direct access to underlying tables.
Materialized views are precomputed views that store SQL query results in BigQuery, drastically reducing processing time and data scanning costs. BigQuery maintains these views through automatic background processing called incremental updates, which only scan changed data rather than rebuilding the entire view. BigQuery also includes smart tuning, which automatically reroutes queries to the materialized view when it can serve the request more efficiently.
Three common use cases drive precalculation optimization:
Beyond materialized views, scheduled queries write precalculated results directly into standard tables through stored procedures that execute on a set frequency. The key consideration is balancing data freshness, storage cost, and query performance.
Maintaining data integrity requires robust pipelines built on Cloud Composer or Dataflow that automate the refresh process while ensuring synchronization with source systems. Idempotent transformations produce the same result regardless of how many times they run, preventing duplicate or inconsistent data when pipelines re-run due to failures or scheduled refreshes.
Materialized views support partitioning and clustering, incremental refresh, and additional storage. Unlike logical views, they provide zero maintenance because precomputation happens in the background when base tables change. If changes might invalidate the view, BigQuery reads from the base table instead to ensure fresh data.
Incremental updates allow BigQuery to combine cached view data with new data. For single-table materialized views, incremental updates work when the base table is unchanged since the last refresh or when only new data was added. However, if the base table had updates or deletions, or if JOIN right-side tables changed, BigQuery cannot use incremental updates and reverts to the original query.
| Strategy | Performance | Data Freshness | Cost | Complexity |
|---|---|---|---|---|
| BI Engine | Sub-second response | Near real-time | Memory reservation (GiB) | Low – no code changes |
| Materialized views | Fast for precomputed aggregations | Configurable staleness | Storage cost | Medium – design and manage |
| Query caching | Fast for precomputed results | Controlled by schedule | Storage cost | Medium – set up scheduled queries |
BI Engine does not accelerate queries using wildcard tables, external tables, JavaScript UDFs, or returning more than 1 GiB of data. For these patterns, saving query results to a permanent table and refreshing via scheduled queries is a common workaround.
BigQuery generates a detailed query plan each time a query runs, including critical execution statistics such as bytes read and slot time consumed. The query plan breaks down computational capacity into slots, which are Google's proprietary unit of computational capacity.
Key metrics for identifying bottlenecks include:
Performance bottlenecks often manifest through specific patterns. A JOIN stage generating far more output rows than input rows may indicate an opportunity to filter earlier. Data skew and excessive shuffling are common issues impacting performance.
The core optimization principle is that queries doing less work perform better. Avoid SELECT * to reduce processed data, filter early in the query logic, use appropriate join types with properly indexed or partitioned keys, and utilize efficient built-in functions.
Query performance also depends on resource availability. On-demand pricing uses a shared pool of slots with costs based on bytes processed. Capacity-based pricing involves purchasing dedicated slot reservations for predictable monthly expenditure. For consistent or highly concurrent workloads, capacity-based pricing with slot commitments or autoscaling is recommended.
Identity and Access Management (IAM) controls who can access what data in BigQuery, with roles applied at the project, dataset, table, or view level. The principle of least privilege should guide all access decisions.
Data masking protects sensitive information by obscuring or transforming it before it reaches visualization tools. BigQuery supports column-level security that masks sensitive columns while allowing authorized users to see full data.
Cloud Data Loss Prevention (Cloud DLP) provides automated discovery and classification of sensitive data such as credit card numbers, social security numbers, and personally identifiable information (PII). Once identified, Cloud DLP can automatically apply masking, tokenization, or transformations to protect this data throughout its lifecycle.
A strong security model separates responsibilities within the data pipeline. For example, a data analyst should have permissions to query tables but never direct read access to underlying storage buckets.
The exam content does not provide specific study material for this section. Students should refer to the official exam study guide for coverage of data preparation topics related to artificial intelligence and machine learning workflows in Google Cloud.
Defining rules to share data establishes the identity, perimeter, and access policies required to distribute Google Cloud datasets securely across organizational boundaries.
Policy inheritance across the Google Cloud resource hierarchy determines how data sharing controls apply across projects and folders:
Granular access controls enforce least privilege by restricting visibility to specific rows and columns. Administrators implement column-level security using Data Catalog policy tags arranged in hierarchical taxonomies. When a policy tag attaches to a column, only users with the Fine-Grained Reader role can view unmasked data.
For row-level filtering, BigQuery row-level security (RLS) creates row access policies based on user identity or group membership. Dynamic data masking (DDM) automatically obscures outputs for users with the BigQuery Masked Reader role, such as showing only the last four digits of a number, without requiring duplicate tables.
VPC Service Controls establish security perimeters around BigQuery and Cloud Storage APIs to isolate sensitive workloads. Perimeter bridges enable secure data movement between isolated environments with custom ingress and egress rules. Access Context Manager evaluates contextual request attributes such as client IP subnetworks, user identity, and device state before granting access.
Organizations configure Workforce Identity Federation using open standard protocols like OIDC or SAML to authenticate external partners through identity providers. All data access requests generate immutable entries within Cloud Audit Logs.
Exam tip: Authorized views in BigQuery allow consumers to query filtered subsets of data without granting direct access permissions to the underlying source tables.
Publishing datasets involves packaging structured data assets so external or internal consumers can discover, query, and consume them without duplicating underlying storage.
A zero-copy architecture separates storage from compute, allowing publishers to maintain data ownership while subscribers run queries using their own compute resources. When modifying source schemas, publishers preserve query compatibility through versioning strategies:
Dataplex Universal Catalog automatically harvests schemas, table names, and technical metadata from BigQuery tables and views. Publishers enrich assets with business tags, descriptions, and classification labels to make them searchable.
Cost-sharing models determine whether the publisher or subscriber pays for storage and computational query processing:
| Service | Storage Cost | Compute Cost | Primary Use Case |
|---|---|---|---|
| BigQuery Shared Datasets | Publisher | Subscriber | Cross-project SQL analytics |
| Cloud Storage (Requester Pays) | Publisher | Subscriber | Bulk file distribution |
| BigQuery Multi-Tenant SaaS | Publisher | Shared capacity | Managed software platforms |
Publishers enable data egress restrictions on listings within BigQuery Analytics Hub to block subscribers from executing commands like CREATE TABLE AS SELECT that move data outside the governed environment.
Looker Studio creates visual reports and dashboards connected directly to BigQuery, Cloud SQL, and Cloud Storage. Organizations handling sensitive data must establish a Business Associate Agreement (BAA) and restrict domain sharing via the Google Admin console.
Two credential methods configure data access:
Looker uses the LookML modeling language to define centralized business logic, metrics, and relationships. Database connections are secured through SSH tunnels, SSL encryption, and IP allowlists. User access uses SAML, LDAP, or Google OAuth for federated authentication.
Row-level security in Looker uses the access_filter parameter with user attributes to restrict record visibility by department or territory. The access_grants parameter restricts access to specific LookML Explores, views, joins, and fields based on assigned user attributes.
Exam tip: In Looker, row-level data security is configured using the access_filter parameter with user attributes, while structural element visibility is controlled via access_grants.
BigQuery Analytics Hub is a fully managed data exchange platform enabling organizations to publish, discover, and query shared datasets securely across project and organizational boundaries.
Access management uses specialized IAM roles:
When a subscriber links a listing, BigQuery creates a read-only linked dataset in the subscriber's project that dynamically queries the publisher's source data. Shared listings can expose three object types:
The lifecycle of a shared data listing follows four steps:
The zero-copy model divides costs cleanly: publishers pay for storage, while subscribers pay for computational slots or on-demand query bytes. Publishers enforce data egress restrictions to disable operations like CREATE TABLE AS SELECT that copy data outside BigQuery.
Exam tip: Linked datasets created via BigQuery Analytics Hub are read-only references that execute against publisher data without copying underlying storage.
access_filter parameter and controls access to Explores and fields using access_grants paired with user attributes.Prepare and test your skills
Prepare and test your skills
In BigQuery Analytics Hub, publishers pay for the data storage costs while subscribers pay for the computational slots or on-demand query bytes required to execute queries. Subscribers query data via a read-only linked dataset in their own project that references the publisher's source objects directly without duplicating the underlying storage.
BigQuery BI Engine does not accelerate queries that use wildcard tables, external tables, JavaScript user-defined functions, or return more than 1 GiB of data. For these unsupported query patterns, saving the query results to a permanent table and refreshing it using scheduled queries is the standard workaround.
Looker uses the access_filter parameter with user attributes to enforce row-level security by restricting record visibility based on user traits like department or territory. In contrast, access_grants restrict access to structural LookML modeling elements, including specific Explores, views, joins, and fields.
BigQuery can perform incremental updates on single-table materialized views when the base table has not changed since the last refresh or when only new data has been added. If the base table has updates or deletions, or if JOIN right-side tables change, BigQuery cannot use incremental updates and instead reverts to the original base table query.