Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing Datomic
Search
lachlanroche
October 30, 2014
Programming
0
60
Introducing Datomic
Presented at the Brisbane NoSQL group
lachlanroche
October 30, 2014
Tweet
Share
More Decks by lachlanroche
See All by lachlanroche
Introducing the iOS Responder Chain
lachlanroche
0
160
iPad Multitasking in iOS9
lachlanroche
0
170
Xcode keyboard tips
lachlanroche
1
51
Xcode build script tips
lachlanroche
0
73
Introducing Xamarin
lachlanroche
0
62
Other Decks in Programming
See All in Programming
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
430
早すぎ?超先読み Go 1.26 Draft - Preview the contents of the Go 1.26 Draft Release Notes
tomtwinkle
0
340
OSS開発者の憂鬱
yusukebe
12
4.6k
Querying Design System デザインシステムの意思決定を支える構造検索
ikumatadokoro
1
1.2k
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
110
問題の見方を変える「システム思考」超入門
panda_program
0
300
What's New in Web AI?
christianliebel
PRO
0
130
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
640
Promise.tryで実現する新しいエラーハンドリング New error handling with Promise try
bicstone
3
500
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
460
例外処理を理解して、設計段階からエラーを見つけやすく、起こりにくく #phpconfuk
kajitack
12
6.3k
しっかり学ぶ java.lang.*
nagise
1
400
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Done Done
chrislema
186
16k
Building an army of robots
kneath
306
46k
The Cult of Friendly URLs
andyhume
79
6.7k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Music & Morning Musume
bryan
46
7k
Statistics for Hackers
jakevdp
799
220k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing Experiences People Love
moore
142
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Navigating Team Friction
lara
190
15k
Transcript
Intro to Datomic Brisbane NoSQL Oct 2014 @lachlanroche
Architecture • Peer library • Transactor • Storage service
Peer library • Query engine runs in your application •
Data access via Storage Service • Submits changes to and accepts updates from Transactor • API for Clojure and JVM languages • REST peers (alpha)
Transactor • Transactor is a process • Single Transactor in
a system • Processes transactions • Serialized transaction processing • ACID
Storage service • Stores immutable values • Dynamo DB, Riak,
Cassandra, Couchbase, Infinispan, SQL • Memcached support
Data model • Immutable data - facts don’t change •
Atomic data - the datom • Minimal schema • Database is a set of datoms, indexed in various ways • Database as a value
Datom • {entity, attribute, value, transaction} • Attribute definition is
the only schema • Attributes have type, name, cardinality
Time • Time is built in • Transactions are ordered
• Transactions are first class entities • Can open database at as-at a point in time, including now, or since a point in time, or for a window in time
Querying • Datalog • Implicit joins • Queries can include
arbitrary functions from your application • Queries can run on db, or application data, or a mix
Links • http://www.datomic.com/