Views Before Failovers
Figma split horizontal sharding into two steps. First they made the application logically sharded: DBProxy routed every read and write as though shards existed, but the "shards" were database views sitting on the one unsharded physical instance. Only later did they physically split tables onto separate hosts, with about ten seconds of partial write unavailability per primary.
Why run the logical step first, against views, on the machine that was already serving production?
Sign in to answer questions and track your progress
Sign In