Datomic: Can Simple be also Fast?
dotkam.com
dotkam.com
It'll be interesting to see how this plays out. Widespread adoption of technology tends to follow a path of least resistance. Does Datomic offer a simple enough path to pull many people over? I also know many of us have a preference for building on open source systems; will this be an obstacle for Datomic?
For an example of CQRS with Event Sourcing in Java: http://axonframework.org
Really solid and fun to work with.
No-one really cares how DB's are implemented under the hood, we just care about the programming model. (And speed, CAP, ACID, etc...)
I've only seen SQL logs presented as solutions to replication and disaster recovery, not point in time functionality.
What I'm getting at, is it even possible in principle to expose part of the inner workings of some relational database systems to get this kind of capability?
Edit: Seems like at least Oracle is already doing this: http://en.wikipedia.org/wiki/Redo_log
http://docs.oracle.com/cd/E11882_01/appdev.112/e17125/adfns_...
For example, if I want to track ups shipments, I'd set up a shipment_events table. Every time I check the status of a shipment, I'd insert into the shipment_events table. If the shipment changes state from in_transit to delivered, then I'd set shipments.state="delivered".
If you do it in a time-series db fashion, there will soon be too many facts to count.
When is Datomic not a good fit? Datomic is not a good fit if you need unlimited write scalability, or have data with a high update churn rate (e.g. counters). And, at present, Datomic does not have support for BLOBs.