XTDB

Crux is an open source document database that uses Apache Kafka for the primary storage of transactions and documents, and RocksDB or LMDB to host indexes for rich query support. This decoupling allows Crux to be very scalable and allow for a large variety of use cases. Crux is a bitemporal database, which makes it possible to store and query data on two different factors, valid time and system time. Crux does not enforce any schema for the documents it stores and it supports a Datalog query interface for reading data and traversing relationships across all documents, where queries are executed so that the results are lazily streamed. Additionally, even though the main transaction log is immutable, Crux still supports the eviction of active as well as historical data.

History

Crux has been available as a Public Alpha since April 19th 2019. The Public Alpha period will continue until Crux is released as a Generally Available open source software product by JUXT later in 2019.

Data Model

Document / XML

Query Interface

Datalog

XTDB Logo
Website

https://juxt.pro/crux

Source Code

https://github.com/juxt/crux

Tech Docs

https://juxt.pro/crux/docs/

Developer

JUXT

Country of Origin

GB

Start Year

2018

Project Type

Commercial, Open Source

Written in

Clojure

Supported languages

Clojure, Java

Embeds / Uses

LMDB, RocksDB

Licenses

MIT