TrailDB

TrailDB is an easy portable C library that allows you to query a series of events. Unlike many other relational DBMS, the databases created by TrailDB are immutable files. Thus, TrailDB could achieve a deeper compression, greater scalability and allow an arbitrary number of consumers to access the databases in parallel.

But as each TrailDB is an immutable file, it could not be modified it once creation process is finalized so that it could not be used to replace DMBS that are currently running on production environment for transactions. One proper way is to use it as a complementary to the existing relational databases and key-value stores. For example, data could be gathered in regular intervals from all producers to encode a new TrailDBs and these immutable TrailDBs could be pushed to an object-based storage system, such as AWS S3, PureStorage FlashBlade, and so on. Then customers could use TrailDB library to access these immutable files in high performance and in parallel. As the description shows, it's a pretty good tool for OLAP of non-realtime records.

Another thing brought by the immutability is that it might be quite convenient for developers to use it as in high-level it only supports CREATE and READ operations. Thus, there are only a few APIs and no need to worry about any anomalous states which exist on other relational databases or key-value stores.

System Architecture

Embedded

TrailDB Logo
Website

http://traildb.io/

Source Code

https://github.com/traildb/traildb

Tech Docs

http://traildb.io/docs

Developer

AdRoll Inc.

Country of Origin

US

Start Year

2014

Project Type

Commercial, Open Source

Written in

C

Supported languages

C, D, Go, Haskell, Python, R

Licenses

MIT