An embeddable, bitemporal, append-only database system and event store that stores immutable snapshots with full history.
SirixDB is an embeddable, bitemporal, append-only database system and event store. It stores immutable lightweight snapshots of data, preserving the full history of each resource. Every commit creates a space-efficient snapshot through structural sharing, allowing queries on any historical revision to be as fast as queries on the latest data.
Developers and organizations needing robust audit trails, temporal data analysis, document versioning, or the ability to query past application states without complex event replay systems. Particularly relevant for finance, healthcare, and legal domains with regulatory requirements.
SirixDB provides built-in, efficient versioning at the database layer, eliminating the need for custom audit tables or external event sourcing frameworks. Its unique page-level versioning and bitemporal model offer direct, performant access to historical data, a feature not natively available in most traditional databases.
SirixDB is an an embeddable, bitemporal, append-only database system and event store, storing immutable lightweight snapshots. It keeps the full history of each resource. Every commit stores a space-efficient snapshot through structural sharing. It is log-structured and never overwrites data. SirixDB uses a novel page-level versioning approach.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses copy-on-write to share unchanged pages between revisions, minimizing storage overhead to O(changes) rather than O(total size × revisions), as detailed in the storage model section.
Tracks both transaction time and valid time natively, enabling correct answers to historical queries about when data was known versus when it was valid, explained in the bitemporal section.
Queries any historical revision directly via page access without replaying logs, with performance comparable to querying the latest data, supported by revision-specific read transactions and configurable versioning strategies.
Can be embedded as a single JAR library with no external dependencies or run as a standalone REST server, offering deployment flexibility for various use cases.
Relies on JSONiq/XQuery rather than widely-adopted SQL, which may require additional learning and limit integration with existing SQL-based tools and expertise, as noted in the query documentation.
Only supports a single writer per resource at a time, as stated in the key design decisions table, which can bottleneck applications with high write throughput or concurrent update needs.
Requires Java 25+ with specific JVM flags (--enable-preview and others) for running, and building native binaries needs GraalVM, adding complexity to deployment and setup, per the build instructions.
SirixDB is an open-source alternative to the following products: