Posts
Aerospike: My 'Aha!' moments - The predictable Primary Index
Aerospike builds primary index using distributed hashmap and red-black tree(sprigs). This method supports them to maintain the predictable low latency. For each record in the namespace, it creates a 20 byte hash (RIPEMD-160 hash) which helps identifying it’s partition and storage location of where the record is stored. So Aerospike can directly reach the record and fetch it with predictable latency.
Aerospike: My 'Aha!' moments - Is your key too hot?
It is quite common that one record is being read/written by more than one client at the same time, especially when you have denormalized data models. In most of the DBs this impacts the latency & some time the request may even timeout. But in Aerospike, if there are too many concurrent operations on the same record, Aerospike will throw “Error Code 14: AS_ERR_KEY_BUSY” error. I presume that this is their fail fast mechanism to avoid performance degradation due to lock contentions.