Detailed Design of Google Maps

Lesson 125 of 25610 min readPremium lesson preview
In this lesson2 sections

Detailed Design of Google Maps

Connect segment storage, query routing, and traffic updates. The key is to publish graph versions that routing servers can use consistently while newer data is being processed.

This lesson details the design by addressing two key questions:

  1. How do user requests benefit from segments?

  2. How do we improve user experience by increasing ETA accuracy?

Segment setup and request handling

We will examine how segment data is stored and how the system processes user requests. This includes the storage schema, segment hosting, and request handling workflows.

Storage schema

The proposed stores hold segment ownership metadata separately from road connectivity. A query also needs a spatial lookup from coordinates to segment boundaries; a key-value lookup by segment ID does not supply that lookup by itself.

Key-value store

  • The segment ID.

  • The serverID hosting the segment.

  • Boundary coordinates (latitude/longitude) defining the segment polygon.

  • A list of neighbors segment IDs.

Graph database

  • The internal road network as a graph.

The rest of this lesson is for Premium members

Premium opens every lesson in this course, along with all questions and solutions on PracHub.