frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Show HN: SirixDB 1.0 Beta – Git-Like Versioning, Diffs, Time-Travel Queries

https://github.com/sirixdb/sirix
10•lichtenberger•6h ago
Hi HN! I've posted SirixDB here before, back in 2019 (https://news.ycombinator.com/item?id=19834681) and again in 2023 (https://news.ycombinator.com/item?id=38252963).

The core idea behind SirixDB is, that history is a first-class citizen. Every commit stores a lightweight, queryable revision. You can query any point in time, even individual nodes (for instance JSON values), diff arbitrary revisions, and efficiently track how data evolved without replaying events.

Unlike traditional event stores, historical states do not need to be reconstructed by replaying events nor do we have to think about projections. Revisions are directly queryable.

A simple example:

Jan 1: Record "Price = $100, valid from Jan 1". Stored on Jan 1 (transaction time).

Jan 20: Discover price was actually $95 on Jan 1. Commit correction.

After correction, you can ask across both axes:

- "What did we THINK the price was on Jan 16?" -> $100 (Transaction time)

- "What WAS the price on Jan 1?" -> $95 (Valid time)

I've worked on this in my spare time since 2013, following its academic precursor (Idefix/Treetank) at the University of Konstanz. The architecture relies on an append-only physical log and a persistent copy-on-write page trie.

A high level view of the architecture:

Physical Log (append-only, sequential writes)

  ┌────────────────────────────────────────────────────────────────────────┐
  │ [R1:Root] [R1:P1] [R1:P2] [R2:Root] [R2:P1'] [R3:Root] [R3:P2'] ...    │
  └────────────────────────────────────────────────────────────────────────┘
       t=0      t=1     t=2      t=3      t=4       t=5       t=6    → time
Each revision is indexed, and unchanged pages are shared:

  [Rev 1]          [Rev 2]          [Rev 3]
     │                │                │
     ▼                ▼                ▼
  [Root₁]          [Root₂]          [Root₃]
   │   │            │   │            │   │
   │   └─────────┐  │   └────────┐   │   └─────────┐
   ▼             ▼  ▼            ▼   ▼             ▼
  ┌──────┐       ┌──────┐       ┌──────┐       ┌──────┐
  │  P1  │       │  P2  │       │ P1'  │       │ P2'  │
  └──────┘       └──────┘       └──────┘       └──────┘
   Rev 1         Rev 1+2        Rev 2+3         Rev 3
                 (shared)       (shared)
Beneath the root pages sit node and secondary indexes, using a novel sliding-snapshot algorithm to balance read/write performance. Everything is queryable using JSONiq via the Brackit compiler.

Back in 2019, and even in 2023, SirixDB was very slow due to GC pressure. Unlike most other document stores, SirixDB stores fine-grained nodes, and I came to realize that an on-heap (JVM) representation made up of lots of small objects simply didn't make sense. I measured it with async-profiler — with some help from Andrei Pangin himself — and the result was that the poor throughput was due to the sheer amount of allocations which scaled almost linearly with the number of open transactions.

Working a full-time software engineering job, I lacked the energy for a massive spare-time rewrite. About a year ago, I started experimenting with AI. It turned out to be ideal for automating the tedious, repetitive parts of migrating the storage layer to Java's Foreign Function & Memory API, storing pages completely off-heap.

Looking further ahead, the append-only, immutable-page design maps naturally onto object storage like S3 and distributed logs like Kafka for a cloud version, and initial prototypes already exist. Maybe that becomes a commercial service one day, but for now, I'm just thrilled to see these core design principles finally proven out.There's an interactive demo, documentation, and the code is on GitHub. I'd love feedback and am happy to answer questions!

kind regards

Johannes

[1] https://sirix.io | https://github.com/sirixdb/sirix

[2] https://sirix.io/docs/architecture.html

[3] https://demo.sirix.io

[4] https://sirix.io/docs/

[5] http://brackit.io

Comments

lichtenberger•34m ago
Besides, documents are split into fine granular nodes, so we have "no" upper limit besides running out of 48bit nodeKeys/node identifiers at some point maybe.

Furthermore, a (versioned, as always) path summary keeps track of all distinct paths, which is a key ingredient for the optional secondary indexes, which can index paths or paths and content among other stuff as simply indexing fields. Optionally you can also add indexes to speed up aggregate queries (which are basically column projections).

Furthermore, the whole storage can self-validate through checksums stored in parent pages up to the root as in ZFS for instance.

DeweyIDs can be optionally stored for each node, which can speed up the comparison of subtrees between revisions (in order to detect simply which changesets belong to a certain subtree without having to traverse ancestor chains). They lend themselves well for compression.

We even have importers which can identify based on heuristics minimal edit operations to import existing revisions of XML or JSON documents and to commit these with hopefully a minimal or close to minimal set of update operations, but it depends heavily on the data.

Inkling: Our Open-Weights Model

https://thinkingmachines.ai/news/introducing-inkling/
484•vimarsh6739•4h ago•116 comments

Grok Build

https://github.com/xai-org/grok-build
130•skp1995•2h ago•132 comments

Show HN: Firefox in WebAssembly

https://developer.puter.com/labs/firefox-wasm/
57•coolelectronics•1h ago•19 comments

Speculative Growth and the AI "Bubble" [pdf]

https://economics.mit.edu/sites/default/files/2026-07/speculative_growth_AI_public.pdf
22•johnbarron•46m ago•11 comments

Stripe and Advent have made a joint offer to acquire PayPal – sources

https://www.reuters.com/business/finance/stripe-advent-offer-buy-paypal-more-than-53-billion-sour...
291•rvz•18h ago•162 comments

Running Gemma 4 26B at 5 tokens/sec on a 13-year-old Xeon with no GPU

https://www.neomindlabs.com/2026/06/08/running-gemma-4-26b-at-5-tokens-sec-on-a-13-year-old-xeon-...
204•neomindryan•6h ago•123 comments

Duskers, the scary command line game, is getting a sequel

https://elbowgreasegames.substack.com/p/misfits-attic-announces-duskers-20
68•spacemarine1•2h ago•12 comments

Must actively fund open source AI [pdf]

https://www.siegelendowment.org/wp-content/uploads/2026/07/fortune-david-siegel-open-source-ai.pdf
18•bilsbie•1h ago•2 comments

Brainless: Shadcn components that look like Claude Code, Codex and Grok

https://brainless.swerdlow.dev
56•benswerd•2h ago•6 comments

Voxatron

https://www.lexaloffle.com/voxatron.php
38•lsferreira42•2h ago•13 comments

The End of Creativity

https://hugodaniel.com/posts/the-end-of-creativity/
20•hugodan•1h ago•25 comments

Collection of Digital Clock Designs

https://clocks.dev
142•levmiseri•5h ago•32 comments

Book prizes don't work how you think

https://rebeccamakkai.substack.com/p/book-prizes-dont-work-how-you-think
23•samclemens•1d ago•5 comments

Mysteries of Telegram Data Centers (2022)

https://dev.moe/en/3025
224•theanonymousone•9h ago•116 comments

Show HN: misa77 - a codec that decodes 2x faster than LZ4 (at better ratios)

https://github.com/welcome-to-the-sunny-side/misa77
119•nonadhocproblem•6h ago•38 comments

MITS: Rockets, Calculators, and Personal Computers

https://www.abortretry.fail/p/micro-instrumentation-and-telemetry
18•BirAdam•2d ago•0 comments

Artie (YC S23) Is Hiring Software Engineers

https://jobs.ashbyhq.com/artie
1•tang8330•5h ago

Prioritize mental health, and why communication is so important

https://ramones.dev/posts/mental-health/
264•ramon156•10h ago•217 comments

Designing APIs for Agents

https://www.freestyle.sh/blog/opinion/designing-apis-for-agents
25•benswerd•2d ago•9 comments

Show HN: Low-latency local LLM runner via OpenJDK Panama FFM (Java 22)

https://github.com/projectargus-cc/libargus.cc
18•KingJoker•1d ago•2 comments

We don't use AI in any of our design or production processes

https://mass-driver.com/article/from-human-hands
30•tony_cannistra•49m ago•13 comments

Towards a harness that can do anything

https://eardatasci.github.io/c/ambiance/index.html
154•evakhoury•8h ago•77 comments

Twain Town, USA

https://theamericanscholar.org/twain-town-u-s-a/
12•prismatic•1d ago•0 comments

Command Line Interface Guidelines

https://clig.dev/
20•subset•3d ago•0 comments

Open-source memory for coding agents, synced over SSH

https://github.com/vshulcz/deja-vu/
99•vshulcz•6h ago•23 comments

Today I Rescued 7,234 Old GIFs

https://danq.me/2026/07/10/rescuing-7234-gifs/
78•birdculture•3d ago•6 comments

Show HN: Microcosm Industries – Simulation toys and software microcosms

https://microcosm.industries/
9•arbesman•5d ago•1 comments

Sleep regularity is a stronger predictor of mortality risk than sleep duration (2023)

https://academic.oup.com/sleep/article/47/1/zsad253/7280269
629•bilsbie•10h ago•319 comments

Briar is in maintenance mode

https://briarproject.org/news/2026-maintenance-mode/
137•ristello•9h ago•90 comments

My midlife crisis Corolla is fast, furious, and modded

https://www.zocalopublicsquare.org/my-midlife-crisis-corolla-fast-furious-fully-modded/
148•gmays•8h ago•318 comments