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
Domain Driven Design & NoSQL
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Lucas Dohmen
March 22, 2014
Programming
450
0
Share
Domain Driven Design & NoSQL
I gave this presentation at the excellent RubyConf India.
Lucas Dohmen
March 22, 2014
More Decks by Lucas Dohmen
See All by Lucas Dohmen
Frontend Architecture
moonglum
1
130
Weird Parts
moonglum
0
130
Webanwendungen – Eine Frage des Stils
moonglum
0
310
AdequateJS: Where should I run my Code?
moonglum
0
100
Per Anhalter durch JavaScript
moonglum
0
220
faucet-pipeline
moonglum
0
45
Architectures for Modern Web Front Ends
moonglum
2
500
Per Anhalter durch JavaScript
moonglum
0
240
Architectures for Modern Web Front Ends
moonglum
0
160
Other Decks in Programming
See All in Programming
PHP で mp3 プレイヤーを実装しよう
m3m0r7
PRO
0
280
Swift Concurrency Type System
inamiy
0
530
t *testing.T は どこからやってくるの?
otakakot
1
660
Angular Signal Forms
debug_mode
0
110
属人化しないコード品質の作り方_2026.04.07.pdf
muraaano
0
170
Claude Code × Gemini × Ebitengine ゲーム制作素人WebエンジニアがGoでゲームを作った話
webzawa
0
140
GNU Makeの使い方 / How to use GNU Make
kaityo256
PRO
16
5.6k
実践CRDT
tamadeveloper
0
570
How We Benchmarked Quarkus: Patterns and anti-patterns
hollycummins
1
140
Kingdom of the Machine
yui_knk
2
330
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
23
13k
Featured
See All Featured
Fireside Chat
paigeccino
42
3.9k
[SF Ruby Conf 2025] Rails X
palkan
2
960
The Limits of Empathy - UXLibs8
cassininazir
1
300
How to Ace a Technical Interview
jacobian
281
24k
Paper Plane
katiecoart
PRO
1
49k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Everyday Curiosity
cassininazir
0
200
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.4k
Done Done
chrislema
186
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
420
The Cost Of JavaScript in 2023
addyosmani
55
9.8k
Transcript
Escaping the Tower of Babel Domain Driven Design & NoSQL
class SpaceShuttle end ! class Astronaut end v I
Domain Driven Design • Find an ubiquitous language • The
language is based on the domain • Every person involved understands the language Eric Evans
Iterative Development Close relationship between devs & domain experts Domain
Driven Design
Hi. I’m Lucas.
I work for ArangoDB GmbH
We build ArangoDB
ArangoDB is an Open Source NoSQL Database
But what is NoSQL?
SQL NoSQL
SQL Not only SQL
What is NoSQL? What is SQL? What is a relational
algebra? What is a relation? Not SQL A relational algebra An algebra on relations
{(Alice, 1983-07-1, 1) (Bob, 2014-03-19, 2)}
name birthday city Alice 1983-07-1 1 Bob 2014-03-19 2
Disconnect I v Ownership name: alice… type: spaceshuttle
Entity Value Object Service Identified by ID Value What it
does State Mutable Immutable Stateless
+ Factories + Repositories + Aggregates
DENORMALIZATION
Lift the restriction • Tuples containing other Tuples • Tuples
with arbitrary attributes
Space Shuttle Parts
Space Shuttle Parts Document Store
I type: spaceshuttle v name: alice astronaut: 1 spaceshuttle: 3
JOINS
Alice Ownership SpaceShuttle
Alice Ownership SpaceShuttle Graph Database
Alice Ownership SpaceShuttle Parts
Alice Ownership SpaceShuttle Parts I’m a document!
Alice Ownership SpaceShuttle Parts Me too!
Alice Ownership SpaceShuttle Parts
Alice Ownership SpaceShuttle Parts Multi Model Database
Disconnect I v Ownership name: alice… type: spaceshuttle
I type: spaceshuttle v name: alice Ownership since: 2003
Explain graphs. Learn about the domain. Find the common language.
Build one model for everyone involved. Evolve the model alongside the implementation moonglum moonbeamlabs arangodb.org