Hi David, if you mean storing binary data in documents (BLOBs), then you currently have to use base64 to encode the data to store it directly in the database (encode and decode on client-side). Since ArangoDB 3.0 with its new internal format VelocyPack, this is actually no longer a limitation of the storage format, but JSON, which is the only way to transport data in and out of ArangoDB at the moment. There will be a binary protocol VelocyStream in the future, but the details need still to be worked out (e.g. how to handle binary data if both JSON over REST and VelocyStream are used by different clients?) Related discussion: https://github.com/arangodb/arangodb/issues/1869
On a different note, storing large chunks of binary data directly in the database is not recommendable if there will be (frequent) updates to the document that also stores a BLOB, because of ArangoDB's append-only architecture: https://docs.arangodb.com/3.0/Manual/Architecture/index.html#appendonlymvcc The by far best solution in my opinion is to use any file system you want to store your BLOBs, and to reference them by name (i.e. store the file path and perhaps some meta information in ArangoDB). You can deliver the files using Foxx for instance: https://docs.arangodb.com/3.0/Manual/Foxx/Router/Response.html#download -- You received this message because you are subscribed to the Google Groups "ArangoDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
