Skip to main content

Preview: Intro to Multi-Region Databases in Geo-distributed Applications

A hands-on preview of what it looks like to use multi-region database features in CockroachDB.

  • Course Number

    intro-to-multi-region
  • Self-Paced

  • Estimated Effort

    2 hrs/week

About This Course

A geographically distributed audience introduces problems such as speed of light latency. Data takes time to get to your users. This can result in a good experience for users near the data source but a poor experience for those further away. Using a geographically distributed database can help remedy this problem by locating the source of the data closer to the users, no matter where they are in the world.

Operating in different geographies could also require new data locality considerations - think data domiciling. More sophisticated approaches are needed to overcome these challenges; however, that doesn’t mean your solution must be difficult to understand or implement.

This course will introduce simple, elegant, and practical solutions for designing a database that optimizes for resilience, responsiveness while also being sensitive to data locality.

Prerequisites

Students should be familiar with the following concepts:

  • CockroachDB clusters, forming quorums and consensus
  • Data distribution and replication in CockroachDB
  • Cloud topology terms - Region & Availability Zone

A good prerequisite course for this is Intro to Distributed SQL and CockroachDB

Detailed course outline

  • Course Introduction
    • Video: Why take this course?
    • Video: Fictional business use case
  • Setting up your environment
    • Video: Introducing the demo environment
    • Setup: Development environment
    • Exercise: Exploring CockroachDB demo & MovR
  • Geographically distributed databases
    • Video: What is a geographically distributed database?
    • Video: Multi-region challenges
    • Exercise 01: Topology planning
    • Exercise 02: A demonstration of poor resilience (region failure)
    • Quiz: Geographically distributed databases
  • Getting started with implementation
    • Video: Implementing a multi-region database architecture
    • Exercise 03: How can I implement multiple regions
    • Note: Explaining the run script
  • Achieving high resilience with multi-region databases
    • Video: Resilience overview
    • Quiz: Resilience overview
  • Intro to survival goals in CockroachDB
    • Video: Survival goals overview
    • Exercise 04: Identify appropriate survival goals
  • Survival goals deep-dive
    • Video: Zone survival goals
    • Quiz: Zone survival goals
    • Video: Region survival goals
    • Quiz: Region survival goals
  • An overview of latency in multi-region databases
    • Video: Latency in Cockroachdb multi-region
  • Tuning latency in multi-region databases
    • Video: Global tables
    • Exercise 05: Case for global table
    • Video: Regional-by-row tables
    • Exercise 06: Case for regional-by-row
    • Video: Regional tables
    • Exercise 07: Case for a regional table
  • Summary of latency in multi-region database deployments
    • Video: Summary of multi-region latency concepts
    • Quiz: Optimizing for low latency in multi-region deployments
  • Data docmiciling with CockroachDB
    • Video: Fitting into your data domiciling strategy
    • Video: Data domiciling syntax
    • Exercise 08: Data domiciling and "Placement Restricted"
    • Quiz: Data domiciling
  • Multi-region design tradeoffs
    • Video: Multi-region tradeoffs
    • Exercise: What are the tradeoffs?
    • Quiz: Tradeoffs
  • Summary

Course Staff

Kiki Carter
Kiki Carter
Sr. Staff Curriculum Developer @ Cockroach Labs

Kiki is a leader and lover of cloud-native architecture, advocacy, and delivery. She enjoys transforming heritage platforms into massive scaling, high-throughput, low latency systems. Kiki thrives on cultivating successful environments through creative exploration of developer experience, training, and delivery discipline. Kiki is also passionate about computer ethics and the symbiotic relationship between humans and machines.

Frequently Asked Questions

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Edge, Firefox, Internet Explorer, or Safari.

See our list of supported browsers for the most up-to-date information.

Enroll