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?

  • ubergeek77
    link
    fedilink
    English
    31
    edit-2
    1 year ago

    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.

    • @[email protected]
      link
      fedilink
      English
      71 year ago

      The 700MB are the postgres data or everything including the images?

      I’m under the impression that text should be very cheap to store inside postgres.

    • @[email protected]
      link
      fedilink
      English
      5
      edit-2
      1 year ago

      I’m not really sure that a K/V service is a more scalable option than Postgres for storing text posts and the like. If you’re not performing complex queries or requiring microsecond latencies then Postgres doesn’t require that much compute or memory.

      People can get unnecessary scared of relational databases if they’ve had bad experiences with databases that are used poorly, but attempting to force relational data into a K/V can lead to the application layer essentially just doing a less efficient job of the same types of queries that the database would normally handle. Maybe there’ll be some future need to offload post and comment bodies into object storage or something but that seems incredibly premature.

      Object storage for pictrs is definitely a fantastic addition, though.

    • Qazwsxedcrfv000
      link
      fedilink
      English
      21 year ago

      It would be greater if it can also leverage IPFS. So we can have unique identifiers per media object and hence deduplication in a P2P network which in my opinion is more federvise affinitive. I have been thinking of making such an alternative media backend for a while.

  • BaroqueInMind
    link
    fedilink
    191 year ago

    Sounds like the federated instances should consider opening up for donations and paid features like comment awards and animated shit like Discord or Reddit.

    • @[email protected]OP
      link
      fedilink
      61 year ago

      I worry that these sorts of things would end up turning the site into a popularity contest (or, well, more of a popularity contest than these sorts of sites already are. That being said, I’m quite proud of Lemmy, currently, as it appears to be resisting that). Also I’m not entirely sure how things like payed comment awards would work with everything being federated.

      • @[email protected]
        link
        fedilink
        11 year ago

        I don’t think awards would make it any more of a popularity contest than updvotes already do. And it would be nice to have an incentivised way to support server costs. How it would work with federation is a good question, though.

        • @[email protected]
          link
          fedilink
          1
          edit-2
          1 year ago

          We don’t have karma, so up/downvotes shouldn’t really matter to individuals. But I agree it would be great to have incentives to help out the owners.

          What about custom stuff? Like custom emojis, themes, fonts, etc? Those aren’t really necessary but still gives you something in return. Or anything similar, really. I’m worried about awards having an effect like the karma system.

          • @[email protected]
            link
            fedilink
            41 year ago

            Just a note, lemmy does have a karma system. The default UI doesn’t show this but I believe apps like wefwef/memmy expose this data.

            • @[email protected]
              link
              fedilink
              1
              edit-2
              1 year ago

              Yeah, Connect shows it too. But in my experience, at least with connect, it’s not reliable. The value changes (sometimes drastically). I noticed this early when my score went from ~80 to ~40 and checked if I had any comments/posts that were suddenly heavily downvoted (there were none).

              Esit: Just checked with wefwef - points aren’t even the same between apps.

    • /home/pineapplelover
      link
      fedilink
      21 year ago

      I think we could do some kind of profile badge if you donated. So it wouldn’t influence the way people vote, only if you clicked on their profile will you see it.

    • Proteus
      link
      fedilink
      21 year ago

      I’d be ok with something like a “donor” flair.

  • @[email protected]
    link
    fedilink
    English
    151 year ago

    One way to approach the geometric storage growth would be to not cache everything everywhere all at once. With 1000+ instances, storing an object in a few instances would be ok if others can pull it in on demand. Can use some typical caching methodology like use frequency, aging etc.

  • @[email protected]
    link
    fedilink
    English
    101 year ago

    Premature optimization is not good. Content here is not very storage intensive, so I would not yet make it to issue. Postgre can handle billions of rows when indexed right.

  • HamSwagwich
    link
    fedilink
    11 year ago

    @Kalcifer

    The long term solution is something like IPFS object storage that’s read only for everyone but the author instance. One copy of the data but all instances can read it and it’s stored forever in a redundant medium with bitrot protection.

  • @[email protected]
    link
    fedilink
    English
    -4
    edit-2
    1 year ago

    I tought about it too as web is based on quantity rather than quality. “Will servers begin to periodically purge old content?” In my opinion, it’s the best option. Instances can set up there own rules, ie oldest postes && least liked First, then least commented, then bookmarked etc… I m sure I won’t miss this post in one month or even one day.

      • @[email protected]
        link
        fedilink
        English
        41 year ago

        Honestly selective purging might work. There definitely some communities we should keep but if you purge like !memes, I don’t think anyone would care.

    • @[email protected]OP
      link
      fedilink
      English
      141 year ago

      ie oldest postes && least liked First

      This would pretty much automatically throw out all troubleshooting posts. These sorts of posts, very often, don’t receive many likes, as that is not their purpose. On top of that, there has been many a time that I have been saved by finding some ancient forum post that solved my problem.

      • @[email protected]
        link
        fedilink
        English
        11 year ago

        So do I. And since there were no rule I didnt thumbs up the ancient but helpful content to keep it alive. Purging is not about censorship but to keep fragile communities alive by keeping above all their true value.

      • @[email protected]
        link
        fedilink
        English
        11 year ago

        The real takeaway here is that we are all bad at storing the kind of knowledge you’ll find in a troubleshooting post.

        Perhaps there can be a Lemmy instance that scrapes and mirrors troubleshooting posts across other instances.

    • YMS
      link
      fedilink
      71 year ago

      I m sure I won’t miss this post in one month or even one day.

      Well, maybe you won’t, but others might. That was the great thing about Reddit. Found a sub that might be interesting? Browse its top content of the last ten years and you’ll see. Have a specific programming question? Google it with site:reddit.com and you’ll likely find a good discussion on it. Reading on old interview somewhere and wonder if someone ever fact-checked that one statement there? The guys at Reddit likely have.

      Even before the blackout it already happened way too often that you stumbled upon an interesting Reddit thread just to see that one of the central comments has been deliberately deleted by its author and so the whole thing gets less helpful. Would be a shame if the system itself would further delete even more content.

      • @[email protected]
        link
        fedilink
        01 year ago

        That is why rules are set to keep content with true value. Else it’s content archeology and as IRL you won’t find everything untouched as it was.

    • @jcgA
      link
      English
      11 year ago

      Why are people downvoting this? It’s just practical. If you don’t reduce the amount of storage you use, the cost of storing will constantly and steadily rise, will donations or personal budgets keep up? Maybe on lemmy.world or other mega instances but it just won’t be the case for everybody. I think purging old content is gonna be a reality eventually, even if it takes a really long time before it catches up to the larger instances. And it’s going to be OK as long as, as this person suggested, the rules for purging old stuff is tenable for everybody.

      For example, does lemmy.world, lemm.ee, and sh.itjust.works really NEED to keep each other’s entire federated post history, in perpetuity? As these guys grow larger wouldn’t it make sense to start purging very old duplicate content between them? Stuff that hasn’t been accessed on the instance in, say, over a year? Mind you, I believe that before we get to this point, there will be other systems in place. For example, the Reddit archive sites were never run by Reddit, and they often contained ads or other monetization strategies. Donations can keep the most recent or relevant content up on the instances, but somebody somewhere is gonna have to pay for this content to stay out there. For all we know, it’s gonna be fucking Google and their seemingly unlimited cache. For all we know, some person at Google is spending his 20% personal project time subscribing a bot to everything on the fediverse and collecting data for some kind of new search engine right this very second on Google’s hardware.

      Anyway, just some food for thought.

      • Scrubbles
        link
        fedilink
        English
        11 year ago

        People always assume they deserve to have stuff hosted on the internet forever for free. I’ll donate a good chunk for my instance for sure, but I’m not going to be shelling out hundreds of dollars a month for it either.

        If people care so much about it staying up forever they can start donating.