SirixDB vs Alternatives

Edit document on Github

Overview

Several databases support temporal or versioned data. This page provides an honest comparison to help you choose the right tool for your use case. Every database has trade-offs — SirixDB is no exception.

SirixDB vs XTDB

XTDB (formerly Crux) is a bitemporal database built in Clojure. Both SirixDB and XTDB track system time and valid time, but their architectures differ significantly.

  SirixDB XTDB
Language Java / Kotlin Clojure (JVM)
Data model Document trees (JSON, XML) Entities / tuples
Query language JSONiq, XQuery, temporal XPath axes SQL (v2), Datalog (v1)
Storage Append-only copy-on-write tree with sliding snapshots Pluggable backends (RocksDB, etc.), columnar in v2
Write-Ahead Log Not needed — UberPage swap is atomic Traditional WAL
Diffing Built-in: compare any two revisions Not built-in
Visualization Web GUI with sunburst, treemap, explorer No built-in GUI
License BSD-3-Clause MPL-2.0
Cloud offering Planned Available

When to choose SirixDB

When to choose XTDB

SirixDB vs Event Sourcing

Event sourcing stores every state change as an immutable event. While SirixDB shares the “never delete” philosophy, it offers key advantages:

SirixDB can complement event sourcing: store your current state in SirixDB for efficient temporal queries, while keeping the event log as the source of truth.

SirixDB vs Git for Data

Git-like version control for data (DVC, lakeFS, Dolt) is increasingly popular. SirixDB differs in important ways:

  SirixDB Git-style versioning
Granularity Node-level (individual JSON/XML nodes) File or row-level
Branching Linear revision history per resource Full branching/merging
Query JSONiq / XQuery with temporal axes SQL (Dolt) or file-based
Storage Shared page-fragments via copy-on-write Full snapshots or row-level diffs
Time travel Any revision by number or timestamp By commit hash

When to choose SirixDB

When to choose Git-style tools

SirixDB vs Traditional Databases with Temporal Extensions

PostgreSQL (with temporal tables), Oracle Flashback, and SQL Server temporal tables add time-travel to relational databases. Compared to SirixDB:

Roadmap

SirixDB is actively evolving. Planned developments include:


Have questions about how SirixDB compares to your current stack? Join the community forum or open a GitHub discussion.