Long term and short term storage?

Is there a way to implement Long term and short term storage in Orthanc. For example keeping studies from the last 6 months on a volume on a high speed SSD drive and automatically moving those older than that to a slower drive? If not then can this feature be considered for addition to the roadmap?

This can be achieved by implementing a custom storage area as a plugin:

Check out the “OrthancPluginRegisterStorageArea()” function of the Orthanc SDK.

Bummer… My C++ skills aren’t really up to a task such as this :frowning:

Hi Rana,
Just as a reference, here at CMRAD we implement this with AWS S3 storage and use the S3FS library to create the connection between the local filesystem where Orthanc writes the DICOM files and S3. S3FS is a cached filesystem, so the most used DICOMs will always be present on a very fast disk close to or on the orthanc server. DICOM files with less usage frequency remain solely on S3. Thereafter, we will (not done yet) implement the storage temperatures on S3 to lower the storage costs and gradually move the data from hot, to warm and finally to cold (glacier). Orthanc handles all of this as if it was a single filesystem.
other cloud providers of course have their won similar object storage solutions which could do the same.
good luck, Pär

Hi Par,

Are you using the orthanc-s3-storage plugin?

Hey, No we use S3FS which presents S3 like a local cached mountpoint to Orthanc.
I still have on my list to compare the performance between S3FS and the S3 plug-in. I did scan the code of the plugin though and could not see any caching implementation which worried me. I can't say for sure until I have tried but my guess would be that S3FS performs better given the local cache which serves the majority of content to Orthanc. Upon storage, S3FS will only wait for object to be written to cache making the storage call to S3 asynchronous.

Once I've had a chance to test the plugin I'll get back to you with my experience.