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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Lucas Dohmen
March 22, 2014
Programming
460
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
140
Webanwendungen – Eine Frage des Stils
moonglum
0
320
AdequateJS: Where should I run my Code?
moonglum
0
110
Per Anhalter durch JavaScript
moonglum
0
220
faucet-pipeline
moonglum
0
49
Architectures for Modern Web Front Ends
moonglum
2
510
Per Anhalter durch JavaScript
moonglum
0
250
Architectures for Modern Web Front Ends
moonglum
0
160
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
600
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
150
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
170
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
210
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
900
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.7k
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
550
JJUG CCC 2026 Spring: JSpecify で実現する Kotlin フレンドリーな Java API 設計
ternbusty
1
180
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
560
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
880
Webフレームワークの ベンチマークについて
yusukebe
0
170
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Paper Plane (Part 1)
katiecoart
PRO
0
9.2k
Raft: Consensus for Rubyists
vanstee
141
7.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
310
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
490
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
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