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
480
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
75
Weird Parts
moonglum
0
90
Webanwendungen – Eine Frage des Stils
moonglum
0
270
AdequateJS: Where should I run my Code?
moonglum
0
54
Per Anhalter durch JavaScript
moonglum
0
160
Architectures for Modern Web Front Ends
moonglum
2
480
Per Anhalter durch JavaScript
moonglum
0
190
Architectures for Modern Web Front Ends
moonglum
0
110
AdequateJS: Wie viel JavaScript darf es denn sein?
moonglum
1
380
Other Decks in Programming
See All in Programming
バッチを作らなきゃとなったときに考えること
irof
2
520
Djangoにおける複数ユーザー種別認証の設計アプローチ@DjangoCongress JP 2025
delhi09
PRO
4
460
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
Domain-Driven Transformation
hschwentner
2
1.9k
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
180
Formの複雑さに立ち向かう
bmthd
1
930
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
110
Jakarta EE meets AI
ivargrimstad
0
360
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
110
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
170
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
260
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
A Philosophy of Restraint
colly
203
16k
Agile that works and the tools we love
rasmusluckow
328
21k
RailsConf 2023
tenderlove
29
1k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Optimising Largest Contentful Paint
csswizardry
34
3.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Navigating Team Friction
lara
183
15k
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