Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable a hot / cold storage model #22096

Closed
despens opened this issue Aug 4, 2020 · 10 comments
Closed

Enable a hot / cold storage model #22096

despens opened this issue Aug 4, 2020 · 10 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap enhancement

Comments

@despens
Copy link

despens commented Aug 4, 2020

Hot storage are files currently in use and require to be quickly accessible. Nextcloud primary storage on local disk or block storage would be the best solution for that.

Cold storage is for files that are not in active use anymore and are treated like an archive. This data could be located on much cheaper storage offered by a specialized provider, or on slower storage media locally. In Nextcloud, you would want to use external storage for this case.

However, when files are moved in between different storage backends connected to a single Nextcloud instance, they lose their last-modified dates and appear as recently modified.

It is also not possible to use two Nextcloud instances with different primary storage connected to each, since transfer in between two instances via cloud federation also resets the last modified dates.

To enable the hot / cold storage model, files moved or copied in between in between different storage backends or Nextcloud instances need to retain all of their metadata, especially last modified information.

(This is an attempt to formulate a clearly bound use case for observations in #15192)

@despens despens added 0. Needs triage Pending check for reproducibility or if it fits our roadmap enhancement labels Aug 4, 2020
@SimplyCorbett
Copy link

Why can't you use cache for the hot data? Lots of options out there. http cache, kernel cache, filesystem cache.. etc. Works great for me.

@despens
Copy link
Author

despens commented Aug 4, 2020

@dragon988 These options would not work at the scale that would make it economically meaningful to even distinguish in between hot and cold storage.

@SimplyCorbett
Copy link

@dragon988 These options would not work at the scale that would make it economically meaningful to even distinguish in between hot and cold storage.

Yes, it does. If you are scaling to enterprise level there are still options.

I'm not sure why you want nextcloud handling hot/cold storage. It's IMO a recipe for disaster.

@despens
Copy link
Author

despens commented Aug 5, 2020

@dragon988 I just want to be able to move files from one storage back-end to another without losing file metadata. If that would exist, I could implement a storage model that fits my use-case. You seem to have found a solution using different caches that works for yours. Currently I am running a local file system cache in front of block storage, however the size of files I am dealing with makes caching less-than-ideal unfortunately. 🤷‍♀️

@solracsf
Copy link
Member

solracsf commented Aug 5, 2020

Isn't this a duplicate of #15192 ?

@despens
Copy link
Author

despens commented Aug 5, 2020

@acsfer As mentioned in the original issue, it is one specific effect of the bug described in #15192

@solracsf
Copy link
Member

solracsf commented Aug 5, 2020

Okay, still agree with @dragon988 hot/cold should be a storage specific problem, not Nextcloud (IMHO).
You can achieve this (ex.) with some Object Storage providers and Lifecycle rules. Like https://www.scaleway.com/en/docs/object-storage-glacier/

@despens
Copy link
Author

despens commented Aug 5, 2020

Everyone, thanks for your advice. At my organization we have considered all of these options and figured out we need something else, that we could build with Nextcloud if it supported data transfer in between storage backends. Since the original issue seemed to be too obscure, I tried to narrow it down to a use-case that I thought would be less abstract that "last modified metadata". Apparently these terms aren't the right way to talk about this. So I will close this issue.

@despens despens closed this as completed Aug 5, 2020
@wiswedel
Copy link
Contributor

@despens: Is this what you're looking for? nextcloud/files_retention#45 (however not available yet)

@despens
Copy link
Author

despens commented Feb 22, 2021

Thank you @wiswedel, that sounds like a great formulation of what would be useful for me!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap enhancement
Projects
None yet
Development

No branches or pull requests

4 participants