Sharding and IDs at Instagram
instagram-engineering.tumblr.com
Sharding and IDs at Instagram
1–10 of 53 posts
Re: Sharding and IDs at Instagram
#2Re: Sharding and IDs at Instagram
#3Re: Sharding and IDs at Instagram
#4This seems fairly neat. Is it possible to do something like this with MySQL?
Re: Sharding and IDs at Instagram
#5Re: Sharding and IDs at Instagram
#6btw, tambem sou brasileiro vivendo em san francisco (https://twitter.com/#!/artilheiro)
Re: Sharding and IDs at Instagram
#7Re: Sharding and IDs at Instagram
#8What I'd be more curious to hear about, is how they deal with super nodes and if they're storing a map (or any kind of routing table) or simply using generic modulo hashing on a key.
By the way we use & love Sentry!
Re: Sharding and IDs at Instagram
#9What I'd be more curious to hear about, is how they deal with super nodes and if they're storing a map (or any kind of routing table) or simply using generic modulo hashing on a key.
Right now, it's a lookup dict in our Django app--which involves brief downtime just to update the shard map when moving the data (more on this in another post). We hash on user ID (in most cases) and then look the shard # in the dict, then look up the shard # in a logical-to-physical dict. By the way we use & love Sentry!
Or I might be misunderstanding, and you're saying that you're just mapping which physical server has the schemas
Re: Sharding and IDs at Instagram
#10I've used the "snowflake" like approach in the past with great success. It's really not all that complicated. The reliance on time in the Instagram approach is a bit scary. A few ms off here and there could really hurt this scheme. How do you handle seamlessly transitioning these across machines when your shards move?