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 @ RedDotRuby Conf
Search
Lucas Dohmen
June 26, 2014
Programming
0
490
Domain Driven Design & NoSQL @ RedDotRuby Conf
A little talk about Domain Driven Design and NoSQL I gave at the RedDotRuby Conf in Singapore.
Lucas Dohmen
June 26, 2014
Tweet
Share
More Decks by Lucas Dohmen
See All by Lucas Dohmen
Frontend Architecture
moonglum
1
96
Weird Parts
moonglum
0
110
Webanwendungen – Eine Frage des Stils
moonglum
0
300
AdequateJS: Where should I run my Code?
moonglum
0
86
Per Anhalter durch JavaScript
moonglum
0
200
faucet-pipeline
moonglum
0
32
Architectures for Modern Web Front Ends
moonglum
2
490
Per Anhalter durch JavaScript
moonglum
0
220
Architectures for Modern Web Front Ends
moonglum
0
140
Other Decks in Programming
See All in Programming
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
160
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
360
JJUG CCC 2025 Fall: Virtual Thread Deep Dive
ternbusty
3
420
The Missing Link in Angular's Signal Story: Resource API and httpResource
manfredsteyer
PRO
0
130
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
9
4.7k
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
モビリティSaaSにおけるデータ利活用の発展
nealle
0
310
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
440
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
140
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
210
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
280
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Documentation Writing (for coders)
carmenintech
76
5.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Site-Speed That Sticks
csswizardry
13
960
Designing for humans not robots
tammielis
254
26k
Typedesign – Prime Four
hannesfritz
42
2.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Unsuck your backbone
ammeep
671
58k
Done Done
chrislema
186
16k
A Tale of Four Properties
chriscoyier
162
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Transcript
Escaping the Tower of Babel Domain Driven Design & NoSQL
Escaping the Tower of Babel Domain Driven Design & NoSQL
class SpaceShuttle end ! class Astronaut end v I
Domain Driven Design • Find an ubiquitous language • Every
person involved understands the language • The language is based on the domain Eric Evans
Iterative Development Close relationship between devs & domain experts Domain
Driven Design
Hi. I’m Lucas.
From Köln / Cologne
Dom / Cathedral
Hohenzollernbrücke
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