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
470
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
68
Weird Parts
moonglum
0
81
Webanwendungen – Eine Frage des Stils
moonglum
0
260
AdequateJS: Where should I run my Code?
moonglum
0
46
Per Anhalter durch JavaScript
moonglum
0
140
Architectures for Modern Web Front Ends
moonglum
2
470
Per Anhalter durch JavaScript
moonglum
0
180
Architectures for Modern Web Front Ends
moonglum
0
100
AdequateJS: Wie viel JavaScript darf es denn sein?
moonglum
1
360
Other Decks in Programming
See All in Programming
Contemporary Test Cases
maaretp
0
140
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
210
ふかぼれ!CSSセレクターモジュール / Fukabore! CSS Selectors Module
petamoriken
0
150
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
340
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.5k
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
100
最新TCAキャッチアップ
0si43
0
140
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
230
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
120
距離関数を極める! / SESSIONS 2024
gam0022
0
280
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
110
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
How to Ace a Technical Interview
jacobian
276
23k
Making Projects Easy
brettharned
115
5.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
Visualization
eitanlees
145
15k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
47
2.1k
It's Worth the Effort
3n
183
27k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
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