Fork me on GitHub

Okay, so, it seems like datomic a is pretty well suited for replacement for append only relational models. Is there anywhere online that details a) how to build a relational, append-only database model and b) where that strategy falls apart. I need to be able to answer the question "what problem are we trying to solve here?" when I sell this as our database system for our next service


@idiomancy “what problem are we trying to solve” doesn’t seem related to questions a. and b.?


In my particular case, its highly related. We'll be doing a change history table in cassandra or sql if I cant make the case for datomic


@idiomancy ok well i’ve worked with revision history tables before in sql


with version ids, etc.


it’s not as powerful or elegant as being able to run queries “as at” a time, or being able to apply “what if” diffs to a db


certainly trying to emulate exactly what datomic does by hand in sql sounds like a bad idea


revision history might not be the right way to put it. we're actually maintaining a record of all the changes that happen to customers. (so when they change their birthday in the system or opt in to other features, or what have you)


Is the Datomic DynamoDB schema public and considered stable API? I’m building a dataset that I think datomic will be useful for at some point — I’d like to make it as easy as possible to sprinkle some sample Datomic on it down the line.


(It would already be EAVT-ish.)


@lvh: Datomic uses all storage backends as simple key-value stores to hold compressed chunks of its indexes. You cannot mix storage-native queries or data with Datomic data.


ah; too bad


ETL it is/shall be then


@idiomancy even if you maintain a record of all the changes for a customer, how do you build functionality on top of that?


how does it tie into an orm?


how does sql help you replay/snapshot history?


if all you want is conceptually just a log, then sql is probably fine


but trying to ask historical questions of a relational db, even if it is append only, sounds like a lot of gnarly code to write