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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
lachlanroche
October 30, 2014
Programming
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introducing Datomic
Presented at the Brisbane NoSQL group
lachlanroche
October 30, 2014
More Decks by lachlanroche
See All by lachlanroche
Introducing the iOS Responder Chain
lachlanroche
0
180
iPad Multitasking in iOS9
lachlanroche
0
200
Xcode keyboard tips
lachlanroche
1
65
Xcode build script tips
lachlanroche
0
87
Introducing Xamarin
lachlanroche
0
85
Other Decks in Programming
See All in Programming
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
670
自動化したのに回らない テスト運用の壁―AI時代の品質責任と生産性
mfunaki
0
530
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
200
実装をデザインガイドラインに追従させるための取り組み / 260731-dip-mosh-design-system
dachi023
0
7.9k
片田舎のおっさん、 Swift Buildのダイアモンド問題解決の不具合修正PRを出すが、解決方法がキャッシュをしないようにすることであり、ビルド時間が伸びると言われてマージされないので高速化もする/swiftbuild
yimajo
0
310
リアルな遅延を測る仕様
kota_yata
1
130
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
370
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
130
バグを直したら useEffect が消えた
colorful12
3
770
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.8k
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
270
コンパウンドプロダクト開発のためのローカルプロセスマネージャー再発明 #layerxgo
izumin5210
0
470
Featured
See All Featured
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
360
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.4k
How to Talk to Developers About Accessibility
jct
2
530
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
420
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
510
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Building the Perfect Custom Keyboard
takai
2
850
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
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/