3 ms·
Basically same as "Sharding counters" (2008) https://download.huihoo.com/google/gdgdevkit/DVD1/developers.google.com/appengine/articles/sharding_counters.html
by tantalor 4y ago
Basically same as "Sharding counters" (2008)
https://download.huihoo.com/google/gdgdevkit/DVD1/developers.google.com/appengine/articles/sharding_counters.html https://download.huihoo.com/google/gdgdevkit/DVD1/developers...
Also in Brett Slatkin's "Building Scalable Web Apps with App Engine" (2008)
https://youtu.be/Oh9_t5W6MTE?t=1181 https://youtu.be/Oh9_t5W6MTE?t=1181
- ris 4y agoWas going to post this. "Sharding" seems like a better term for communicating the idea.
- zimpenfish 4y agoI dunno - "sharding" would generally imply (to me, at least) that you're spreading the counters amongst different databases (or tables in a smaller context.) All the counters are in the same table here which is counterintuitive to "sharding".
- tantalor 4y agoSemantics
- iv42 4y agoAlso, it's basically identical to the pattern described as Counter Tables in "High Performance MySQL" (3rd edition), published in 2012.
- tantalor 4y agoIndeed, it also calls them "slots": > You can get higher concurrency by keeping more than one row and updating a random row... just choose a random slot and update it https://www.oreilly.com/library/view/high-performance-mysql/9781449332471/ch04.html#counter_tables https://www.oreilly.com/library/view/high-performance-mysql/...