SlideShare a Scribd company logo
Escaping the
Tower of Babel
Domain Driven Design & NoSQL
class SpaceShuttle
end
!
class Astronaut
end
vI
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 with arbitrary attributes
• Tuples containing other Tuples
Space Shuttle
Parts
Space Shuttle
Parts
Document
Store
Itype:
spaceshuttle
vname:
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
Itype:
spaceshuttle
vname:
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

More Related Content

PPT
Ruby versus Rails
PPTX
A brief history of functional programming (edited)
PPTX
Commoditization
PPTX
Betabit - syrwag 2018-03-28
PDF
Introduction to Scala
PDF
Short and fast introduction to Scala
PDF
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
PDF
Domain driven design @FrOSCon
Ruby versus Rails
A brief history of functional programming (edited)
Commoditization
Betabit - syrwag 2018-03-28
Introduction to Scala
Short and fast introduction to Scala
Wakanda: NoSQL for Model-Driven Web applications - NoSQL matters 2012
Domain driven design @FrOSCon

Similar to Domain Driven Design & NoSQL (20)

PPTX
Children of Ruby
PDF
OO and Rails...
PPTX
Spark - The Ultimate Scala Collections by Martin Odersky
PDF
Jax keynote
PPTX
Scala for n00bs by a n00b.
PDF
Building DSLs with Scala
KEY
Scala Introduction
PDF
Ruby and Rails short motivation
PPTX
Long Live the Rubyist
PDF
光のツールExcelに闇Rubyの力を注いでみた
PDF
ruby-cocoa
PDF
ruby-cocoa
PDF
Javawug bof 57 scala why now
PDF
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
KEY
Mark ramm To relate or not to relate
PDF
Kotlin from-scratch
KEY
Ruby on Rails Training - Module 1
PDF
Javascript Journey
PPTX
NOSQL Databases for the .NET Developer
PDF
Core Data in RubyMotion #inspect
Children of Ruby
OO and Rails...
Spark - The Ultimate Scala Collections by Martin Odersky
Jax keynote
Scala for n00bs by a n00b.
Building DSLs with Scala
Scala Introduction
Ruby and Rails short motivation
Long Live the Rubyist
光のツールExcelに闇Rubyの力を注いでみた
ruby-cocoa
ruby-cocoa
Javawug bof 57 scala why now
"Intro to iOS Development" - Derek Fernholz, South Dakota Code Camp 2012
Mark ramm To relate or not to relate
Kotlin from-scratch
Ruby on Rails Training - Module 1
Javascript Journey
NOSQL Databases for the .NET Developer
Core Data in RubyMotion #inspect
Ad

More from ArangoDB Database (20)

PPTX
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
PPTX
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
PPTX
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
PPTX
ArangoDB 3.9 - Further Powering Graphs at Scale
PDF
GraphSage vs Pinsage #InsideArangoDB
PDF
Webinar: ArangoDB 3.8 Preview - Analytics at Scale
PDF
Graph Analytics with ArangoDB
PDF
Getting Started with ArangoDB Oasis
PDF
Custom Pregel Algorithms in ArangoDB
PPTX
Hacktoberfest 2020 - Intro to Knowledge Graphs
PDF
A Graph Database That Scales - ArangoDB 3.7 Release Webinar
PDF
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
PDF
ArangoML Pipeline Cloud - Managed Machine Learning Metadata
PDF
ArangoDB 3.7 Roadmap: Performance at Scale
PDF
Webinar: What to expect from ArangoDB Oasis
PDF
ArangoDB 3.5 Feature Overview Webinar - Sept 12, 2019
PDF
3.5 webinar
PDF
Webinar: How native multi model works in ArangoDB
PDF
An introduction to multi-model databases
PDF
Running complex data queries in a distributed system
ATO 2022 - Machine Learning + Graph Databases for Better Recommendations (3)....
Machine Learning + Graph Databases for Better Recommendations V2 08/20/2022
Machine Learning + Graph Databases for Better Recommendations V1 08/06/2022
ArangoDB 3.9 - Further Powering Graphs at Scale
GraphSage vs Pinsage #InsideArangoDB
Webinar: ArangoDB 3.8 Preview - Analytics at Scale
Graph Analytics with ArangoDB
Getting Started with ArangoDB Oasis
Custom Pregel Algorithms in ArangoDB
Hacktoberfest 2020 - Intro to Knowledge Graphs
A Graph Database That Scales - ArangoDB 3.7 Release Webinar
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
ArangoML Pipeline Cloud - Managed Machine Learning Metadata
ArangoDB 3.7 Roadmap: Performance at Scale
Webinar: What to expect from ArangoDB Oasis
ArangoDB 3.5 Feature Overview Webinar - Sept 12, 2019
3.5 webinar
Webinar: How native multi model works in ArangoDB
An introduction to multi-model databases
Running complex data queries in a distributed system
Ad

Recently uploaded (20)

PDF
PPT on Performance Review to get promotions
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
UNIT 4 Total Quality Management .pptx
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
composite construction of structures.pdf
PPTX
additive manufacturing of ss316l using mig welding
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
DOCX
573137875-Attendance-Management-System-original
PPT
introduction to datamining and warehousing
PPT
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PPTX
Sustainable Sites - Green Building Construction
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPT
Project quality management in manufacturing
PPT on Performance Review to get promotions
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
Automation-in-Manufacturing-Chapter-Introduction.pdf
UNIT 4 Total Quality Management .pptx
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
composite construction of structures.pdf
additive manufacturing of ss316l using mig welding
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
573137875-Attendance-Management-System-original
introduction to datamining and warehousing
Introduction, IoT Design Methodology, Case Study on IoT System for Weather Mo...
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Sustainable Sites - Green Building Construction
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
CYBER-CRIMES AND SECURITY A guide to understanding
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
Foundation to blockchain - A guide to Blockchain Tech
Project quality management in manufacturing

Domain Driven Design & NoSQL