Re:Thinking in Datomic
by calebmpeterson on Sunday July 08, 2012 @10:58PM
(#4216494)
So, Datomic is a persistent data structure persisted to nonvolatile storage... I've wanted one of these for at least the last 2 years.
If only there was an open source implementation of this concept that I could run on my own hardware. Does anyone know of such a beast?
And, no, I don't want to roll my own versioned/timestamped row schema in an RDBMS - been there, suffered that.
Re:Thinking in Datomic
by willvarfar on Monday July 09, 2012 @04:34AM
(#4217231)
At small (one machine) scale you could store simply store entity$attribute$time as the key for the value in any sorted key-value store e.g. levelDB.
(that is, concatenate the entity, attribute name and timestamp in a lexically sorting string)
At larger scale, hyperdex http://hyperdex.org/ might do the job but I don't know much about it
Re:Thinking in Datomic
by DanWaterworth on Monday July 09, 2012 @08:01AM
(#4217705)
key-values stores like levelDB are persistent [1], but they are not persistent [2].
[1] http://en.wikipedia.org/wiki/Persistence_(computer_science)
Re:Thinking in Datomic
by RehnoLindeque on Monday July 09, 2012 @02:34AM
(#4216959)
Acid-State for haskell (http://acid-state.seize.it/) is based on a similar ideology and in the public domain. (Oh, but minus the time dimension I'm afraid.)
Re:Thinking in Datomic
by DanWaterworth on Monday July 09, 2012 @03:54AM
(#4217155)
Acid-State is quite different, it persists representations of operations to disk (to make it durable) and keeps the data structure in memory.
I'm working on a project to bring persistent data-structures to disk ( https://github.com/DanielWaterworth/Siege ). It's currently undergoing a rethink, hence the lack of recent activity, but it's still in development.
[1][2] 'persistent' means different things here.