lecture: Domain Driven Design & NoSQL
Escaping the Tower of Babel
Domain Driven Design focuses on finding a common language to improve communication — a still important topic regarding lots of failing projects. In this talk I want to show you how NoSQL’s document stores and graph databases can help with DDD and compare that to modeling in relational databases.
Domain Driven Design is a software development process that focuses on the finding a common language for the involved parties. This language and the resulting models are taken from the domain rather than the technical details of the implementation. The goal is to improve the communication between customers, developers and all other involved groups. Even if Eric Evan's book about this topic was written almost ten years ago, this topic remains important because a lot of projects fail for communication reasons.
Relational databases have their own language and influence the design of software into a direction further away from the Domain: Entities have to be created for the sole purpose of adhering to best practices of relational database. Two kinds of NoSQL databases are changing that: Document stores and graph databases. In a document store you can model a contains relation in a more natural way and thereby express if this entity can exist outside of its surrounding entity. A graph database allows you to model relationships between entities in a straight forward way that can be expressed in the language of the domain.
I want to look at the way a multi model database that combines a document store and a graph database can help you model your problems in a way that is understandable for all parties involved.
Start time: 10:00
Click here to let us know how you liked this event.
- Salt Stack -Zentrales Systemmanagement der neuen Generation
- Your search doesn’t work
- Workshop (C115)
- AngularJS Workshop
- PDF-KungFoo mit Ghostscript & Co.
- HS6 (PHP)
- Passworte waren gestern
- Wordpress/quasiconf 2014(Lisp) (C130)
- About Scheme
- Python (C120)
- Einführung in Python