Aus dem Kurs: MongoDB Grundkurs

Warum MongoDB?

In diesem Video zeige ich Ihnen, warum MongoDB eine sinnvolle und nützliche Datenbank ist, und ich werde sie mit den relationalen Datenbanken vergleichen. Jahrzehntelang waren relationale Datenbanken der Standard für die Verwaltung und Verarbeitung von Daten. Sowohl große als auch kleine Unternehmen arbeiten mit SQL-fähigen, relationalen Datenbanken, deren Daten in Tabellen organisiert sind. Daten von einem bestimmten Datentyp sind in den jeweils dafür vorgesehenen Tabellen enthalten. Schlüssel werden verwendet, um Tabellen miteinander zu verknüpfen und so vollständige Datenmodelle zu erhalten. D. h., Datenentitäten werden über mehrere Tabellen verteilt. Relationale Datenbanken können schon für relativ einfache Schemata komplex sein. Um z. B. Informationen zu einer bestimmten Entität abzurufen, müssen mehrere Tabellen abgefragt und die Daten miteinander verknüpft werden. D. h., relationale Datenbanken können auch erhebliche Nachteile haben. Z. B. erfordern Änderungen am Schema möglicherweise teure Datenmigration. Um ein relativ einfaches Objekt aus der Datenbank zu erhalten, wie z. B. eine Person, sind möglicherweise Datenbankoperationen über mehrere Tabellen erforderlich, z. B. dann, wenn zu einer Person mehrere Adressen gespeichert sind oder weitere Informationen, die über mehrere Tabellen verteilt sind. Relationale Datenbanken wurden mit der Idee erstellt, dedizierte Datenbankadministration zu haben. MongoDB hingegen und auch andere NoSQL-Systeme wurden so konzipiert, dass sie für Softwareentwickler zugängig sind. Um auf MongoDB z. B. zuzugreifen, ist kein sogenannter OR Mapper notwendig. Daten, die in MongoDB gespeichert werden, entsprechen eins zu eins einem Java-Objekt z. B. Daten werden nicht wie bei relationalen Datenbanken über mehrere Tabellen verteilt, sondern sie werden so gespeichert, dass sie zusammengehörig sind. Die objektorientierte Natur der Dokumente in MongoDB, also die Datensätze in MongoDB, so wie die Daten in MongoDB gespeichert werden, passt besser zu der Art und Weise, wie viele Softwareentwickler mit Daten arbeiten.

Inhalt