4 ms·
Honestly I was surprised they were able to scale as elastically as they did and we now know the reason why: they used Datastore instead of something like Postgr
by sp527 10y ago
Honestly I was surprised they were able to scale as elastically as they did and we now know the reason why: they used Datastore instead of something like Postgres with sharding. That decision alone is most of the reason they made it. By contrast, my team doesn't use managed NoSQL services for our projects because they're simply too expensive to deploy before seeing considerable growth.
- jshen 10y agoDatastore seems really cheap to me, am I missing something?
- viraptor 10y agoThey also have a system that's almost trivial to shard in any way they want, which would help even with postgres all around. Since there's no real interaction between users (only user-environment really), they can split databases by location, user groups, or some hashes as they want. Also the data they deal with is extremely cachable - as long as you play on one device.
- itcmcgrath 10y agoThere is some, when users battle gyms they are battling with other users Pokemon which would be from anywhere in the world. When the Pokemon on the Gym loses it needs to be removed in a transaction with an update on the gym. This takes the easiest form of sharding off the table, so it's not as simple as you make it seem.
- ec109685 10y agoIt doesn't really need to be a transaction since it is okay if it is eventually consistent (e.g. they have a cleanup job if a transaction is lost), that would be fine.