• _NetNomad@fedia.io
    link
    fedilink
    arrow-up
    118
    ·
    3 days ago

    something very similar in mainframe land where they call files “datasets.” if you call a dataset a file, get ready to get an earfull!

    which is ironic considering IBM themselves often call them files and one of the most popular dataset utilities is called FileAid. but if we acknowledge that, we lose a valuable opportunity to belittle and exclude newcomers

    • bobzrkr@sh.itjust.works
      link
      fedilink
      arrow-up
      69
      ·
      3 days ago

      In AWS S3, they’re objects, not files. But you upload files to objects. And can download an object to a file. But they’re not files. Trust me bro.

      • AmyAye@nord.pub
        link
        fedilink
        English
        arrow-up
        29
        ·
        3 days ago

        You know, the same deal kind of applies about “losing newcomers”. Because I avooded using AWS because everything seemed cryptic and weird with its terminology. So other companies got my business.

      • agentTeiko@piefed.social
        link
        fedilink
        English
        arrow-up
        6
        ·
        3 days ago

        There is a reason for that since S3 is not block storage and doesn’t have a Hierarchal filesystem. That’s why when you create folder in the S3 console what you are really creating is a prefix meaning its just a placeholder to auto add the prefix string to the beginning of all objects. But all objects in the bucket are flat when it comes to the API. Plus the way the files are stored in the shards in S3. You can limit Throughput by treating prefixes like a hierarchical filesystem too much.

      • Jul (they/she)@piefed.blahaj.zone
        link
        fedilink
        English
        arrow-up
        4
        ·
        3 days ago

        The more confusing thing I’ve had to explain to too many developers is that it’s not a directory regardless of what it looks like on the AWS website view. It’s a “prefix” meaning the entire thing, including the slashes, is just part of the filename, there is no real structure inside a bucket. So there’s no such thing as relative paths to search for things. When you call the list objects function with a prefix it’s the same as doing a “starts with” on a string. You can’t give it a partial “path” relative to another object that appears to be in another “folder”.

      • ViatorOmnium@piefed.social
        link
        fedilink
        English
        arrow-up
        8
        ·
        3 days ago

        That’s mostly because it doesn’t have real directories, it just simulates them with string prefixes and if you forget that on large buckets you are going to have a bad time.

          • ViatorOmnium@piefed.social
            link
            fedilink
            English
            arrow-up
            3
            ·
            2 days ago

            Imagine you have dir1/dir2 with “directories” inside, each one with millions of “files”/objects. When you try to “ls” the dir1/dir2 by querying Prefix='dir1/dir2/' and Delimiter='/' S3 will still scan all the millions of objects starting with the prefix, and then filter out the ones that have a / after the prefix.

              • ViatorOmnium@piefed.social
                link
                fedilink
                English
                arrow-up
                1
                ·
                6 hours ago

                There’s no benefit or drawback on it’s own. The way the keys and queries work are geared to S3’s nature as a key value object store - which requires it to support keys that wouldn’t be valid file paths or that have different delimiters.

    • Err(()).unwrap()@lemmy.worldM
      link
      fedilink
      arrow-up
      12
      ·
      edit-2
      3 days ago

      Reminds me of the oilfield unit hell. If you even mention an SI unit on an offshore drilling platform, your beheaded carcass will be displayed on top of the derrick as a warning for others, left to be devoured by birds and the salty wind.