Show HN: DriftDB – An experimental append-only database with time-travel queries
21 comments
·September 14, 2025_false
mentalgear
Isn't this the same as CRDT libs like automerge are doing ?
packetlost
No, event-sourcing is a subset of an implementation detail of some (most, maybe all?) CRDTs. An event-sourcing based system doesn't even need to be distributed, but often is.
wrl
Yet more vibe-coded spam. For context, this is the same author who just got flagged off the front page for an LLM-written book about Lisp.
brothrock
how is this spam? it’s posted the same way as any HN post and it’s not soliciting anything.
appreciatorBus
He’s been on a spree, “writing” and posting a dozen books or other projects in the last 2 days.
rizky05
[dead]
DavidCanHelp
More context: haters are saying LLM generated content is bad. As a Senior Full Stack Developer with over 26 years of pro experience, I'm having the time of my life with these new AI powers and the doors and discussions they open. People are upvoting. I'm personally not getting anything from this open source sharing. You're the one calling spam. When you pay 200 a month to max your claude code output and really hunker down, think twice before you share its work. Not everyone understands.
compootr
> LLM-written book about Lisp.
I don't really care if you're an astronaut, time traveler, or a 15 year old. AI slop prompted by anyone is slop, and I'm a human with limited time which I'd rather not waste on slop
OutOfHere
It is absurd to pay $200 a month for it when GitHub Copilot has agentic development basically for free for open source developers, including GPT/Claude/Gemini models. If you want to waste your own money, fine, but don't expect others to waste a single dollar of their money when decent options are available at no cost.
Especially Claude is well known for wasting output tokens, for maximizing output token use when fewer tokens would do just fine, although other models too have picked up this disease as of late.
Yes, better models could produce better output, especially for a large project, but in my experience, the quality of the output depends 10x more on the clarity and refinement of the input. In the real world, the bulk of engineering is incremental, not one-shot.
Also, when I see a large repo with just three commits made all at once, it tells me that the vibe-coded output hasn't really been reviewed or refined over time, that it has not withstood the test of time at all, it hasn't received the love and attention it needs to make it mature, and so it cannot be trusted in this stage of its development.
tonyhart7
wait what??? github copilot is free??? is that only free trial?
shikhar
Very cool! Maybe you'll consider turning it distributed by using s2.dev for the append-only event logs :)
Someone tried this with XTDB, https://github.com/chucklehead-dev/s2-log
twosdai
Really interesting! I used influxdb for a while. I see one of the core features is to have AS OF <some date time> be used for historical reference.
Is this similar to running an append only data structure in a normal tsdb, and then querying by date time and taking the most recent value in that data set? Or is it different.
refset
Looks like DriftDB is focused on the 'system time' AS OF dimension, a.k.a. rollback querying. AsOf joins are more about doing analysis over user-defined domain timestamps (/ 'valid time'). Combining both concepts gets you a bitemporal database.
withinboredom
Nice! I built one of these at a previous company for AI training. It’s nice to see an open source version. Did you look into any of the Temporal SQL papers by chance? There’s some nice syntax when you want to join across time.
refset
The SQL:2011 syntax puts the temporal filters directly after base table reference (and before the table alias) [0]
i.e. it would be `SELECT * FROM orders FOR SYSTEM_TIME AS OF "@seq:1000" WHERE customer_id="cust1"` rather than `SELECT * FROM orders WHERE customer_id="cust1" AS OF "@seq:1000"` (the latter being an example from the DriftDB readme)
[0] https://docs.xtdb.com/reference/main/sql/queries.html#_tempo...
withinboredom
Yes, but that’s just time traveling, IIRC. With actual time travel queries you can see what changed between T1 and T2, like “show me all users that changed their email address last month” or “of the products that changed prices, how much did they change by” etc.
You can build all of that on top of simple time travel, but there was a lot of research on how to bake it into the SQL language. IIRC, a lot of it was proposed for the SQL standard but it was too niche or something. It’s been over half a decade since I was in that space.
erichocean
XTDB can also do this, open source, free license.
null
I'm a fan of event sourcing architecture [1]. This looks like a good backend for it.
[1]: https://martinfowler.com/eaaDev/EventSourcing.html