File Typed Value Performance vs File storage on external source

Looking at: https://docs.camunda.org/manual/7.5/user-guide/process-engine/variables/#file-values

What are peoples experiences with storing files in the File Value Type (BLOBS) vs storing the files on a external URL/path outside of the camunda database and using the URL as the access point?

Examples could be storing files agains the process instance in a S3 folder, or other file system location.

Given the general preferences to store “data” in external sources rather than in Process Variables, files seems to be another great example. But interested to hear other’s experience and/or troubles they may have found with large numbers of files per process, per server, per database, etc.

Thoughts?

1 Like

Hi @StephenOTT,

not sure camundos are addressed here :slight_smile: My personal opinion on the matter is that though it’s cool that engine allows you to operate on BLOBs, one should really think twice before doing that. I would assume S3 Bucket or simple https://httpd.apache.org/docs/2.4/mod/mod_dav.html solution would work much better and allow you not only to store files, but also do distributed storage, backups etc. easier, more understandable and consistent compared to storing in database. I used web dav based storage on intranet before, not in camunda scope though.

Hope that helps,
Askar

3 Likes

Great answer. Thanks!

I agree,

S3 is very attractive as file storage and it would be my choice in the absence of requiring a full blown CMS…

regards

Rob

For future reference:

HTTP Connector as of writing this has issues with Binary Data: Can HTTP-Connector Receive Binary Data?

A solution to this problem: Replacing Http-Connector with Jsoup usage

1 Like