Re: Backup compaction optimization in a block-level replication environment
ellie timoney
ellie at fastmail.com
Tue Nov 19 18:03:13 EST 2019
On Tue, Nov 19, 2019, at 9:38 AM, Deborah Pickett wrote:
> > Food for thought. Maybe instead of having one "%SHARED" backup, having one "%SHARED.foo" backup per top-level shared folder would be a better implementation? I haven't seen shared folders used much in practice, so it's interesting to hear about it.
> >
> > Looking at your own data, if you had one "%SHARED.foo" backup per top level shared folder, would they be roughly user-sized pieces, or still too big? If too big, how deep would you need to go down the tree until the worst offenders are a manageable size? (If I make it split shared folders like this, maybe "how-deep-to-split-shared-folders" needs to be a configuration parameter, because I guess it'll vary from installation to installation.)
> >
> For my data, %SHARED.foo would be the perfect granularity level. Each
> foo is a shared email address like "sales" or "accounts" and it gets
> about as much traffic as a user account does. (Two months ago when we
> were on Exchange, they _were_ user accounts.)
Ah yep, that makes sense!
> foo also includes "#calendars" and "#addressbooks" on my server so there
> are weird characters to deal with.
Now that's an interesting detail to consider. I think, with a hypothetical depth setting, I would treat any level that contains '#directories' as being "too deep" for splitting, regardless of the depth setting, because at that point we're looking at things that I guess we expect to belong together. Like, if hypothetical_depth is 3, but foo.#calendars exists, then I think we'd want to treat the entirety of foo as a single backup (as if hypothetical_depth were 1), regardless of what else is deeper in there. I need to think about this more.
I'm gonna have a go at implementing this (I've opened https://github.com/cyrusimap/cyrus-imapd/issues/2915) but I'll step through it one level of complication at a time.
More information about the Info-cyrus
mailing list