Help to build an evolutionary, accumulate-only Database System
Johannes Lichtenberger
Posted on September 18, 2020
You can help to build an evolutionary, accumulate-only database system for modern hardware called SirixDB.
The core repository (Java and Kotlin):
"We want to research the indexing of data in a huge persistent data-structure, mapped to persistent storage. SirixDB stores data and indexes of database resources in a huge persistent tree of tries. It allows us to retrieve any past revision and the current revision, whereas the revisions itself are indexed. The system supports time travel queries, reconstruction of any past state, and to revert to any past state. It only ever aggregates data over time and never overwrites data."
sirixdb / sirix
SirixDB is a temporal, evolutionary database system, which uses an accumulate only approach. 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 called sliding snapshot.
The query processor:
"With our research, we want to develop an extensible, retargetable compilation, and runtime framework for driving scripting-like query languages for structured and semi-structured data. Ideally, we envision to prepare the ground for a tool for query languages similar to what the LLVM compiler framework is for general programming languages: an ecosystem in which proven optimization techniques and algorithms are readily available for implementing custom query processing systems."
The frontend:
"We want to explore how to visualize time-travel queries best and how best to depict the differences between two revisions or any subtrees."
sirixdb / sirix-svelte-front-end
A GUI console for SirixDB, using Svelte/Sapper.
Posted on September 18, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.