this post was submitted on 11 Jul 2023
139 points (98.6% liked)

Lemmy

12542 readers
51 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS
 

Over time, Lemmy instances are going to keep aquiring more, and more data. Even if, in the best case, they are not caching content and they are just storing the data posted to communities local to the server, there will still be a virtually limitless growth in server storage requirements. Eventually, it may get to a point where it is no longer economically feesible to host all of the infrastructure to keep expanding the server's storage. What happens at this point? Will servers begin to periodically purge old content? I have concerns that there will be a permanent horizon (as Lemmy becomes more popular, the rate of growth in storage requirements will also increase, thereby reducing the distance to this horizon) over which old -- and still very useful -- data will cease to exist. Is there any plan to archive this old data?

you are viewing a single comment's thread
view the rest of the comments
[–] ubergeek77@lemmy.ubergeek77.chat 60 points 1 year ago* (last edited 1 year ago) (27 children)

Pictrs 0.4 recently added support for object storage. This is fantastic, because object storage is dirt cheap compared to traditional block storage (like a VM filesystem). This helps a lot for image storage, which is a large part of the problem, but it's not the whole problem.

I know Lemmy uses Postgres for everything else, but they should really invest time into moving towards something more sustainable for long term/permanent hosting. Paid Postgres services are obscenely upcharged and prohibitively expensive, so that's not an option.

I'm armchair architecting here so I'm not sure what that would look like for Lemmy (Cloudflare KV? Redis?)

Still, even my own private instance has been growing at a rate of about 700MB per day, and I don't even subscribe to that many things. I can't imagine what the major instances are dealing with. This isn't sustainable unless we want to start purging old data, which will kill Lemmy long term.


EDIT: Turns out ~90% of my Lemmy data is just for debugging and not needed:

https://github.com/LemmyNet/lemmy/issues/3103#issuecomment-1631643416

[–] lodion@aussie.zone 5 points 1 year ago (1 children)

The largest table holds data that is only needed by Lemmy briefly. There is a scheduled job to clear it... Every 6 months. There are active discussions on how best to handle this.

On my instance I've set a cronjob to delete everything but the most recent 100k rows of that table every hour.

[–] ubergeek77@lemmy.ubergeek77.chat 2 points 1 year ago (1 children)

I saw that issue, and then I saw people having problems after clearing it, so I'm just going to wait until they figure that out in a stable version. Looking forward to it though!

[–] SeeJayEmm@lemmy.procrastinati.org 0 points 1 year ago (1 children)
[–] ubergeek77@lemmy.ubergeek77.chat 3 points 1 year ago (1 children)

It looks like the issue I was referring to has since been edited, as it's not actually relevant to clearing this database bloat:

https://github.com/LemmyNet/lemmy/issues/3103

[–] SeeJayEmm@lemmy.procrastinati.org 2 points 1 year ago (1 children)

I mean, that post is exactly about clearing database bloat. The bulk of the bloat is in the activity table (going by the comments in the thread).

[–] ubergeek77@lemmy.ubergeek77.chat 2 points 1 year ago (1 children)

Yeah, I meant the comments that have been hidden previously made it seem like clearing it would be an issue, so I hesitated to clear it. Now that those comments have been edited, it looks like it won't break anything after all.

[–] SeeJayEmm@lemmy.procrastinati.org 2 points 1 year ago (1 children)

Gotcha. Thanks for pointing me in that direction. Seems like that table's only useful for debugging federation issues. Not sure why they'd want to keep it for 6 months.

[–] ubergeek77@lemmy.ubergeek77.chat 1 points 1 year ago (1 children)

It seems like lots of design choices were made with pre-Reddit-exodus usage in mind 😅

That's for sure. Hopefully they can pivot and start thinking about how to scale better. On one hand I don't envy the developers but it's gotta be kind exciting.

load more comments (25 replies)