Supported Data Types
The Aerospike database supports the following native types:
When setting a value in C#, the Aerospike library automatically determines the best native Aerospike data type for storage:
- Integers and longs are converted to an internal number format.
- Strings are converted to UTF-8.
- Byte arrays are stored as blobs.
Aerospike’s internal typing system automatically converts data types. Cross-language data type issues are handled internally by the Aerospike libraries. For example, an Aerospike String is stored internally in UTF-8 format, allowing Java and C#–which both use Unicode preferentially–applications to transparently interact with Python, which uses UTF-8, and C, which does not use standard internal character encoding.
To avoid format conversion, the C#
byte type is stored as a pure blob and presented to all other languages as a collection of bytes.
The C# client no longer supports Microsoft's BinaryFormatter to convert data types not directly supported by the Aerospike server. See BinaryFormatter not supported.
Instead, we recommend using collection data types based on unchanging C# data types such as arrays of integers and strings, or using a higher level serialization system such as a cross-language serializer (for example, MessagePack or Google’s Protocol Buffers.