Matura: Softwareentwicklung & Informationssysteme

10.2.-3. MongoDB

Grundaufbau MongoDB

Quelle: MongoDB_1 (S. 6)

Vergleich MongoDB und RDBMS

RDBMS MongoDB
Database Database
Table, View Collection
Row Document (JSON, BSON)
Column Field
Index Index
Join Embedded Document
Foreign Key Reference
Partition Shard

Quelle: MongoDB_1 (S. 7)

Was ändert sich bei der Modellierung?

Quelle: https://dbs.uni-leipzig.de/file/seminar_1112_volke_ausarbeitung.pdf

Was sind Aggregate im Zusammenhang mit der Modellierung?

Diagramm Umsetzung: Post Umsetzung: User

Quelle: MongoDB_2 (S. 4-6)

Wie funktioniert die Umsetzung von Beziehungen?

Beziehung Darstellung Umsetzung
1:1 // von a nach b:
var a = db.a.find(..)
var b = db.b.find({_id:a.b_id})
// von b nach a
var b = db.b.find(..)
var a = db.a.find({b_id:b._id})
1:n (Variante 1) // bestellungen zum kunden
var kunde = db.kunden.find(…)
var bestellungen = db.bestellungen.find({_id: {$in: kunde.bestellungen}})
// kunde zur bestellung
var bestellung = db.bestellungen.find(…)
var kunde = db.kunden.find({bestellungen: bestellung._id})
1:n (Variante 2) // bestellungen zum kunden
var kunde = db.kunden.find(…)
var bestellungen = db.bestellungen.find({kunden_id: kunde._id}} )
// kunde zur bestellung
var bestellung = db.bestellungen.find(…)
var kunde = db.kunden.find({_id: bestellungen: kunden._id})
n:m  

Quelle: MongoDB_2 (S. 12-18)

Was ist Replication?

Quelle: https://www.mongodb.com/docs/manual/replication/

Wie läuft sie ab?

Quelle: https://www.bmc.com/blogs/mongodb-replication/

Was ist Sharding/Partitionierung?

Quelle: MongoDB_4 (S. 3, 6)

Wie erfolgt die Auswahl eines Sharding Keys?

Quelle: MongoDB_4 (S. 7)