Object storage is all you need

(tigrisdata.com)

13 points | by jpsaccount 1 day ago

2 comments

  • jeremyjh 32 minutes ago
    Absolutely no mention of Iceberg or Delta Lake, which have had many of the same properties for years. I wonder if they are aware of them, or otherwise why they invented something new.

    I generally don't read low-quality AI slop though, so its possible I missed an explanation that didn't contain those key words.

  • jpsaccount 1 day ago
    Author here. Ampbase is an OpAMP control plane for agent fleets, and this is how it runs without a database: conditional writes for uniqueness and compare-and-swap, one bucket per customer so isolation isn't a WHERE clause somebody has to remember, ULID keys so history is a prefix list.

    Two things the post doesn't cover and I'm happy to get into. What closing the cross-region lost update actually took: annotating the RPCs that depend on a compare-and-swap and replaying those to a single region, with a client-side guard. And the read amplification, which we have a plan for but waiting on a clear signal for when it’s needed.

    Cross-posted with thanks to the Tigris folks; the original is at ampbase.io.

    • typesanitizer 29 minutes ago
      > [..] so isolation isn't a WHERE clause somebody has to remember, [..] Two things the post doesn't cover and I'm happy to get into. What closing the cross-region lost update actually took: [..]

      Set of my Claude alarm bell, and lo-and-behold, Pangram judges this comment to be 100% AI-generated, albeit with limited confidence.

      • 8by3 6 minutes ago
        real people don't write "compare-and-swap" ... or "lo-and-behold" for that matter.
    • embedding-shape 30 minutes ago
      > and this is how it runs without a database

      From the article:

      > In practice, when you reach for a database engine you're actually reaching for four basic features: unique constraints, transactions, indices, and history tables. In order to use Tigris' global object storage as a database, we had to implement all of these primitives ourselves.

      Not sure why the "without a database" is or isn't so important, why is it mentioned so often and why the article flip-flopping between "we don't have a DB" and "we're effectively building our own DB"?