Quantcast
Channel: maps for developers - Medium
Viewing all articles
Browse latest Browse all 2230

Satellite maps, twice as fast

$
0
0

By: Emily McAfee

We’re now serving satellite maps twice as fast as last year, thanks to:

  1. New in-region caching
  2. Targeted cache clearance in our imagery update pipeline
  3. Parallelized cross-region requests

New in-region caching

Compositing and stitching imagery together into a map is very fast on our platform, but fetching the raw map imagery from thousands of miles away can feel comparatively slow. The most latent part of each satellite map request is in the i/o the application has to do out of region.

The further away the imagery is, the slower the imagery loads on the map. While this sounds obvious, the solution is not simply reducing the distance by just replicating our satellite imagery to more global regions. Copying petabytes of data split across hundreds of billions of objects is a non-trivial operation. Instead, we focused on our in-region caching layer: re-architecting our infrastructure so we could store more tiles in-region, period.

Imagery processing pipeline now flushes the cache

Adding in-region caching alone has other complications, like making it hard to update when you have fresh imagery.

Typically, when a tile is stored in our look-aside caches, we set a relatively low TTL (time to live), maybe a few minutes, so that we don’t serve stale content to our users. However, satellite imagery doesn’t change as quickly as our streets data. We realized we could crank up the TTL as long as we had a way to clear stale content as we processed new imagery. So we implemented two changes:

  1. Custom cache TTLs depending on the type of data. For fast-changing streets data, we can continue with a low TTL, but for satellite data, which updates less frequently, we can store tiles for much longer to enhance performance around the globe.
  2. Targeted cache clearance as part of our imagery update pipeline. Given the longer TTL on satellite imagery we needed a way to force-clear old content upon updates. We now do this whenever we roll out new imagery in a certain geographical area, so that we don’t delay delivering the freshest imagery possible.

Parallelized cross-region requests

In addition to launching new in-region caching and updating the imagery processing pipeline to update this cache, we also parallelized any and all cross-region requests that an application must perform in order to serve a satellite tile. That way, our most latent component is the single slowest request, not two slow or more requests performed sequentially.

Today, we serve satellite traffic twice as fast as we did last year, and we still have some tricks up our sleeve to improve performance. Stop by our booth at AWS re:Invent 2017 (booth #422) to learn more about our latest releases, from heatmaps to navigation.

Emily McAfee


Satellite maps, twice as fast was originally published in Points of interest on Medium, where people are continuing the conversation by highlighting and responding to this story.


Viewing all articles
Browse latest Browse all 2230

Trending Articles