Posts
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.
Aerospike: My 'Aha!' moments - A record which is too big
In my experience with NOSQL DBs, size of the records were in a talk rarely. Most of the NOSQL DBs allow storing adequately bigger records. Even though we store denormalized data and indexes there weren’t much hassle(Though there could be some performance impact when the size grows). But in Aerospike, the default maximum size of a record is 1MB. Yes. It is. If you cross that line then you will get “Error Code 13: Record Too Big” error.
Though you can change this limit by configuring the max-record-size parameter in the Aerospike configuration file, increasing this limit will have cascading effects on the performance. For example, larger the record takes more disk I/O during replication. So it is good to stick to the default as much as possible.