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
54
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
160
Xcode keyboard tips
lachlanroche
1
46
Xcode build script tips
lachlanroche
0
67
Introducing Xamarin
lachlanroche
0
58
Other Decks in Programming
See All in Programming
ktr0731/go-mcpでMCPサーバー作ってみた
takak2166
0
150
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
900
生成AIで日々のエラー調査を進めたい
yuyaabo
0
480
プロダクト開発でも使おう 関数のオーバーロード
yoiwamoto
0
140
[初登壇@jAZUG]アプリ開発者が気になるGoogleCloud/Azure+wasm/wasi
asaringo
0
110
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
620
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
110
UPDATEがシステムを複雑にする? イミュータブルデータモデルのすすめ
shimomura
1
520
セキュリティマネジャー廃止とクラウドネイティブ型サンドボックス活用
kazumura
1
160
Rails産でないDBを Railsに引っ越すHACK - Omotesando.rb #110
lnit
1
160
イベントストーミングから始めるドメイン駆動設計
jgeem
4
800
つよそうにふるまい、つよい成果を出すのなら、つよいのかもしれない
irof
1
270
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1370
200k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
For a Future-Friendly Web
brad_frost
179
9.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Scaling GitHub
holman
459
140k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
16
910
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Navigating Team Friction
lara
186
15k
Site-Speed That Sticks
csswizardry
10
620
RailsConf 2023
tenderlove
30
1.1k
Code Review Best Practice
trishagee
68
18k
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/