Understanding Cloud Spanner (UCS) – Outline

Detailed Course Outline

Module 1 - The Need for Spanner

Topics

  • What is Spanner?
  • Spanner and the CAP Theorem
  • History of Spanner
  • Cloud Spanner Use Cases

Objectives:

  • Explain the core concepts and features of Cloud Spanner.
  • Understand how Cloud Spanner fits in the CAP theorem.
  • Describe the history of Cloud Spanner.
  • Explain Cloud Spanner use cases.

Module 2 - Getting Started with Spanner

Topics:

  • Planning Spanner Instances
  • Automating Instance Creating
  • Creating Databases in Spanner

Objectives:

  • Architect Cloud Spanner instances based on location, capacity, availability, and cost.
  • Create Spanner instances by using the Google Cloud console, Google Cloud CLI, and Terraform.
  • Create Spanner databases by using SQL

Activities:

  • Lab: Creating Spanner Instances and Databases (Console)
  • Lab: Creating Spanner Instances and Databases (CLI and Terraform)

Module 3 - Optimizing Spanner Schemas

Topics:

  • Spanner Architecture
  • Choosing Primary Keys
  • Defining Database Schemas in Spanner
  • Understanding Interleaving and Foreign Keys
  • Understanding Secondary Indexes

Objectives:

  • Optimize schemas for Spanner architecture.
  • Choose appropriate primary keys.
  • Manage relationships with primary and foreign keys and with interleaved tables

Activities:

  • Lab: Choosing Primary Keys
  • Lab: Managing relationships with Foreign Keys and Interleaved Tables

Module 4 - Programming Spanner Applications, Queries, and Transactions

Topics:

  • Authentication and Authorization
  • Using the Spanner Client Libraries
  • Running Queries
  • Managing Transactions

Objectives:

  • Authenticate users and applications that access Spanner databases using Identity Access Management.
  • Program Spanner applications using Google Cloud client libraries and Python.
  • Optimize queries using strong reads, stale reads, and indexes.
  • Manage transactions in Spanner.

Activities:

  • Lab: Programming Spanner Applications with Python
  • Lab: Running Queries and Transactions

Module 5 - Deploying Spanner Applications

Topics:

  • Using Spanner from Applications
  • Building Data Pipelines into and out of Spanner

Objectives:

  • Deploy Spanner applications to Google Cloud serverless runtimes.
  • Migrate data to and from Cloud Spanner by using Dataflow jobs and Apache Beam.

Activities:

  • Lab: Deploying Spanner Applications with Cloud Functions and Cloud Run
  • Lab: Migrating Data to and from Spanner with Dataflow

Module 6 - Spanner Administration

Topics:

  • Managing your Data in Spanner
  • Managing Change Operations

Objectives:

  • Administer Cloud Spanner instances.
  • Backup, restore, import, and export data.
  • Modify database schemas with no downtime.
  • Monitor your Cloud Spanner databases and applications

Activities:

  • Lab: Reconciling Account Data with Cloud Spanner Change Streams
  • Lab: Leverage the Autoscaler Tool for Cloud Spanner to Achieve Workload Elasticity

Module 7 - Spanner Best Practices

Topics:

  • Spanner Best Practices
  • Challenge Lab

Objectives:

  • Review best practices for using Cloud Spanner

Activities:

  • Challenge Lab: Administering a Spanner Database