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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Lucas Dohmen
March 22, 2014
Programming
0
450
Domain Driven Design & NoSQL
I gave this presentation at the excellent RubyConf India.
Lucas Dohmen
March 22, 2014
Tweet
Share
More Decks by Lucas Dohmen
See All by Lucas Dohmen
Frontend Architecture
moonglum
1
120
Weird Parts
moonglum
0
120
Webanwendungen – Eine Frage des Stils
moonglum
0
300
AdequateJS: Where should I run my Code?
moonglum
0
96
Per Anhalter durch JavaScript
moonglum
0
210
faucet-pipeline
moonglum
0
38
Architectures for Modern Web Front Ends
moonglum
2
490
Per Anhalter durch JavaScript
moonglum
0
240
Architectures for Modern Web Front Ends
moonglum
0
150
Other Decks in Programming
See All in Programming
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.6k
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
430
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
180
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
370
Fluid Templating in TYPO3 14
s2b
0
120
2026年 エンジニアリング自己学習法
yumechi
0
120
ThorVG Viewer In VS Code
nors
0
750
AgentCoreとHuman in the Loop
har1101
5
200
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
1.9k
SourceGeneratorのススメ
htkym
0
170
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
2.9k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
Practical Orchestrator
shlominoach
191
11k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
130
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
750
Optimizing for Happiness
mojombo
379
71k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
300
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
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