An Aerospike Expression is a sentence used to manipulate and evaluate records and metadata to provide a value; it contains variables, operators, and functions that return a value, typically a primitive like a String or an Integer.
Filter Expressions are used to select records based on the value of a boolean expression; this feature replaces Predicate Expression filtering, which will be deprecated in November 2021.
Filter Expressions are used in scans and secondary index queries or background operations and UDFs as well. They support single record operations like reads, writes, multi-operation transactions, UDFs, and Batch reads.
The scope of these expressions are metadata functions and data operations, but it’s limited to execute only on existing records.
XDR Filter Operations
Allows for filtering records to specific destinations giving a fine-grain control over data distribution.
This feature enables the efficient use of bandwidth and data storage because of the selective data movement across the cluster. The benefits are lower cost for networking and storage, but also efficiency in data control.
XDR Filter Operations add flexibility to data operations with a dynamic definition of Expressions for data distribution per namespace and per destination.
New in Aerospike Database 5.6, Operation Expressions extend read and write operations with the ability to compute values based on record metadata and bin data. They can use computed values as arguments to existing operations, making building blocks for more complex functions.
Operation Expressions support atomic, cross-bin operations, previously limited to UDFs. Where Filter Expressions determine whether an operation on a record happens or not, Operation Expressions extend the actual record transaction.