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.
https://github.com/traildb/traildb
AdRoll Inc.
2014