Reading all serospike data blocks using stored procedure



Hi, We have billions of datablocks in aerospike each with a key and value is in a google protobuf format. This value in protobuf has one field called “XYZ”. I want to iterate through all billion objects and get list of data blocks where value field XYZ = “ABC”. My question is is it possible to write a stored procedure and run it inside Aerospike to gather this information. As i understand if value was not in encrypted in protobuf, then I can do this, but how will i be able to parse the value, convert it in readable format and then read fields and gather data blocks keys.

Any help would be appreciated. Thank you guys.


In a stream udf, can you run an equality filter against the encrypted resultant bytes instead of “ABC”? and then return the digests of the records that match.


Hi, thank you for your help. Yes thats possible but it would be manual each time I want to search any string by looking what to filter the value for. We want it to be automated completely so we can look for human readable string only. Any thoughts?


You can pass that as an argument to your filter function when you call the stream udf and do the transformation in your application.


Thank you, that should work, I am going to try it out. thanks for your suggestion.