compared to crux (which is MIT) we are also more committed to stay open-source, because our libraries are EPL and we have many awesome contributors 😎.
finally what is most important in all of our work is to build small composable abstractions as libraries and make the database decomposable.
rich hickey has suggested that datomic is designed that way, but that is only nice for people having access to their code base. in datahike we have small libraries that cover the full stack down to the storage layer (e.g. filesystem), so one can easily adapt, use and improve each part separately.
i think bitemporality is probably not enough, because typically you have to merge several data streams that have their own business time, not just one. maybe it is worth adding at some point, i would like to hear from people who found it useful 🙂
@jjttjj i hope this clearifies a bit further. have you tried crux?
@whilo that's perfect thanks for that info! I've been using crux a bit but for now I mainly just need a place to persist clojure data structures with very light querying needs. Crux gets the job done for now but I'd probably be able to abstract away the database layer (to easily compare multiple dbs) pretty easily and give datahike a whirl soon
I'm trying to store a large amount of time series data relatively efficiently, so the "entity"/"document" would be mostly just metadata containing a sorted map time series chunk, and a full time series can be reconstructed from these chunks in my app
I was looking at some of the replicative repos recently and they do seem to really do a great job at being small composable parts! Looking forward to playing with datahike soon