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
Lucas Dohmen
March 22, 2014
Programming
460
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
140
Webanwendungen – Eine Frage des Stils
moonglum
0
310
AdequateJS: Where should I run my Code?
moonglum
0
110
Per Anhalter durch JavaScript
moonglum
0
220
faucet-pipeline
moonglum
0
48
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
AI時代になぜ書くのか
mutsumix
0
390
JCON - Create Agentic AI Apps, The Easy Way!
kdubois
1
110
🦞OpenClaw works with AWS
licux
1
350
書き換えて学ぶTemporal #fukts
pirosikick
2
370
サークル参加から学ぶ、小さな事業の回し方
yuzneri
0
180
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
140
要はバランスからの卒業 #yumemi_grow
kajitack
0
160
Surviving Black Friday: 329 billion requests with Falcon!
ioquatix
0
3.1k
Back to the roots of date
jinroq
0
820
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
170
Spec Driven Development | AI Summit Vilnius
danielsogl
PRO
1
160
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
260
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
160
Writing Fast Ruby
sferik
630
63k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
Chasing Engaging Ingredients in Design
codingconduct
0
190
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
150
The untapped power of vector embeddings
frankvandijk
2
1.7k
Are puppies a ranking factor?
jonoalderson
1
3.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Paper Plane (Part 1)
katiecoart
PRO
0
7.6k
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