Hacker News new | ask | show | jobs
by BillinghamJ 3313 days ago
Redis writes are atomic - you just use the increment function
1 comments

Writes are atomic in redis because redis is single threaded. So you are bounded by how fast redis can write. If you try to write any faster then redis can handle you'll get queueing or errors.
The wonderful thing about HyperLogLogs is that you can split the counter in N servers and "merge" the registers later, in case you want an architecture that shards the same counter in multiple servers. But sharding directly by resource looks simpler actually...
Run enough redis servers to handle the load. Choose a server by hashing a user id. Total = sum of counts from all servers.
It's also got cassandra behind the scenes, which has fast, concurrent, distributed counters.