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