SirixDB
activeby SirixDB open-source project (University of Konstanz origins) · since 2012 · also known as Sirix
Embeddable bitemporal database that keeps every revision of JSON and XML resources queryable.
Overview
SirixDB is a log-structured, copy-on-write store that grew out of the University of Konstanz Treetank research project. Every commit produces a cheap immutable snapshot through page-level versioning and structural sharing, so you can query any past revision, diff two revisions, or ask how a document looked at a given valid time. Queries use JSONiq/XQuery through the Brackit engine with temporal extensions, and it runs either in-process as a single JAR or as a Vert.x REST server with Docker images. It is actively developed but still labelled 1.0 beta, which makes it a good fit for audit-heavy and time-travel use cases or research into versioned storage rather than general-purpose OLTP.
Strengths & trade-offs
Strengths
- +Every commit is an immutable, queryable snapshot; revision diffs and point-in-time queries are built in
- +Page-level copy-on-write versioning keeps the cost of history far below full copies
- +Bitemporal: tracks both transaction time and valid time
- +Embeds as a single JAR or runs as a REST server with Docker images
- +Permissive BSD-3 license and an actively maintained codebase
Trade-offs
- −Still a 1.0 beta after more than a decade, so APIs and on-disk format can change
- −Small community and few public production references
- −One writer per resource limits write concurrency
- −JSONiq/XQuery is unfamiliar to most application teams
Great for
- +Audit trails that must reconstruct any past state
- +Versioned JSON or XML document storage
- +Time-travel analytics over changing data
- +Research and teaching on versioned storage engines
Think twice for
- −Write-heavy OLTP with many concurrent writers
- −Teams that need SQL and mainstream BI tooling
- −Distributed, horizontally scaled deployments
Capabilities
Native or official first-party support · 5 of 25 tracked
Scale & consistency
- Comfortable data size
- Small · ≤ 100 GB
- Horizontal scaling
- None
- Multi-region
- No
- Transactions
- Full ACID
- Consistency
- Strong
- Schema
- Schemaless
- Architecture
- Embedded, Client server, Single node
- Query languages
- JSONiq, XQuery
Single-node store; history grows with every revision, so plan disk for retained versions.
Deployment
Ecosystem
Alternatives to SirixDB
Bitemporal SQL database on object storage that keeps every version of every row.
sirixdb vs xtdb →Immutable Datalog database from Nubank where every fact is timestamped and queries run in the app process.
sirixdb vs datomic →Git-for-data document and knowledge-graph database with branches, diffs and time travel.
sirixdb vs terminusdb →Lightweight, fast native XML database and XQuery 3.1/4.0 processor with a GUI.
sirixdb vs basex →MySQL-compatible SQL database you can branch, diff, merge and clone like a Git repository.
sirixdb vs dolt →Immutable, tamper-evident database with cryptographic proofs, offering key-value, SQL and document APIs.
sirixdb vs immudb →SirixDB FAQ
What is SirixDB?
SirixDB is a document database by SirixDB open-source project (University of Konstanz origins), first released in 2012. SirixDB is a log-structured, copy-on-write store that grew out of the University of Konstanz Treetank research project. Every commit produces a cheap immutable snapshot through page-level versioning and structural sharing, so you can query any past revision, diff two revisions, or ask how a document looked at a given valid time. Queries use JSONiq/XQuery through the Brackit engine with temporal extensions, and it runs either in-process as a single JAR or as a Vert.x REST server with Docker images. It is actively developed but still labelled 1.0 beta, which makes it a good fit for audit-heavy and time-travel use cases or research into versioned storage rather than general-purpose OLTP.
Is SirixDB open source?
Yes. SirixDB is open source. License: BSD 3-Clause License.
Does SirixDB support ACID transactions?
Yes. SirixDB supports full ACID transactions, with strong consistency.
Does SirixDB scale horizontally?
SirixDB does not scale horizontally; it runs on a single node, so you scale it up rather than out. It is comfortable at small scale (≤ 100 GB).
How can I run SirixDB?
You can self-host it and embed it in your application.
What is SirixDB best for?
SirixDB is a strong fit for audit trails that must reconstruct any past state, versioned JSON or XML document storage and time-travel analytics over changing data. Think twice for write-heavy OLTP with many concurrent writers.
What are the best alternatives to SirixDB?
Common alternatives to SirixDB include XTDB, Datomic, TerminusDB, BaseX and Dolt. The right choice depends on your workload, scale and hosting; WhichDB's smart match ranks them against your requirements.
How popular is SirixDB?
SirixDB ranks #370 of 844 databases on the WhichDB Score (6.0/100), and #33 among document databases. The score combines public adoption signals such as package downloads, GitHub activity, job posts and developer discussion.