Hacker News new | past | comments | ask | show | jobs | submit login

Redis writes are atomic - you just use the increment function



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.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: