Show HN: DriftDB – An experimental append-only database with time-travel queries

20 DavidCanHelp 12 9/14/2025, 7:42:52 PM github.com ↗

Comments (12)

_false · 21m ago
I'm a fan of event sourcing architecture [1]. This looks like a good backend for it.

[1]: https://martinfowler.com/eaaDev/EventSourcing.html

mentalgear · 10m ago
Isn't this the same as CRDT libs like automerge are doing ?
shikhar · 23m ago
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 · 1h ago
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 · 37m ago
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.
wrl · 48m ago
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.
DavidCanHelp · 27m ago
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.
OutOfHere · 19m ago
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.

withinboredom · 1h ago
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 · 40m ago
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...

erichocean · 38m ago
XTDB can also do this, open source, free license.
OutOfHere · 9m ago