Datomic

1,956 views

Published on

Quick overview of datomic, text and images mostly cribbed from the datomic website.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Datomic

  1. 1. Datomic JP Erkelens @jperkelens Http://github.com/jperkelens
  2. 2. Disclaimer!!Nearly everything that follows is cribbed from the datomic website: www.datomic.com
  3. 3. Rationale Database design conventions were created when memory and disk space was limited and expensive Place-oriented programming Records should not be erased when new ones are made
  4. 4. Classic DB Architecture
  5. 5. Datomic Architecture
  6. 6. Peers Library embedded in app Submits transactions to transactor Handles query/caching/data access
  7. 7. Transactors Process transactions serially Transmit changes Index in background
  8. 8. Consequences Reads never lock out writes Each peer has own cache Higher memory footprint/quicker responses
  9. 9. Data Model Data is immutable  How? Time. Datom  Consists of entity/attr/value/transaction  We dont update records or documents  We add/remove datoms Minimal Schema
  10. 10. Programming Model - Queries The Peer pulls data from storage as needed and caches It receives updates from the transactor Queries run from a merged view of the two After a while minimal network activity is needed No strings! (Maps and vectors) Query language – Datalog. Implicit joins
  11. 11. Programming Model – Time Apps always work on a consistent snapshot of the database Queries are applied to values of the database in time, or windows
  12. 12. DEEEEEMMMOOOO!!!Additional Resources  Www.datomic.com  Http://github.com/limadelic/datomic  https://github.com/gns24/pydatomic

×