Binary Types (BLOB)
While some DBMSs (like OrientDB) specifically support BLOBs (Binary Large OBjects) record types, with ArcadeDB the binary content must be stored as a property in documents, vertices and edges.
To create a BLOB like type, you can define a "Blob" document type and add a property of type BINARY. Then you can set and retrieve the binary content as byte array (byte[]). Example:
database.transaction(() -> {
// DEFINE THE BLOB TYPE
DocumentType blobType = database.getSchema().createDocumentType("Blob");
blobType.createProperty("binary", Type.BINARY);
...
// STORE SOME BINARY CONTENT IN THE DOCUMENT PROPERTY
final MutableDocument blob = database.newDocument("Blob");
blob.set("binary", "This is a test".getBytes());
blob.save(); // THE DOCUMENT IS SAVED IN THE DATABASE ONLY WHEN `.save()` IS CALLED
...
// RETRIEVE THE BINARY CONTENT FROM THE DOCUMENT PROPERTY
final Document blob = database.iterateType("Blob", false).next().asDocument();
byte[] binaryContent = blob.getBinary("binary");
});