-
Notifications
You must be signed in to change notification settings - Fork 19
Description
In order to be resilient to region failure, and to get tiles closer to the clients downloading them, it would be helpful to be able to write tiles into multiple buckets.
It would be simple to support a new type of store, perhaps called "multis3" or just switched when name
is a list, which wraps a list of S3
objects and writes from first to last, reading from the last.
The reading from last is important so that get-before-put doesn't think that a tile written to only one of the buckets is okay. Alternatively, if we want to get more complex, we could do read repair by:
- Reading from the first bucket - if no tile, return
None
. - Read from second through last buckets, if no tile then copy the one from the first bucket.
- Return the tile.
I'm not sure whether this is worthwhile - it's a lot of extra complexity to save the work of re-rendering the tile. My feeling is that, while for some expensive tiles that would be worthwhile, the majority of tiles are so cheap to re-render that it's not worth the read repair...?