Supported data types
The Aerospike Database supports these native types:
Click to view data types
When setting a value in Java, 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 Java byte[]
type is stored as a pure blob and presented to all other languages as a collection of bytes.
For all other data types (including compound objects), we recommend using Aerospike collection data types (List/Map) or a higher level serialization system (like Google’s Protocol Buffers, MessagePack, JSON or XML). For binary serialization, the serialized value can be used to populate a blob (byte[]) bin.
For security, cross-language compatibility and performance reasons, it's not recommended to use java's builtin serialization (ObjectOutputStream.writeObject()
).