Seitenanfang

Strukturvergleich: MySQL vs. MongoDB

Mit MySQL und MongoDB stehen sich die wohl jeweils am weitesten verbreiteten Vertreter ihrer Datenbankgattung gegenüber. Beide stehen für jeweils ein komplett gegensätzliches Datenhaltungskonzept und haben trotzdem überraschend viele Gemeinsamkeiten.

von_mysql_zu_mongodb.jpgMySQL basiert auf einer hierarischen Struktur aus Cluster, Server, Datenbank, Tabelle und Datensatz. Ein Cluster besteht aus mehreren Servern, ein Server beheimatet mehrere Datenbanken, jede Datenbank besteht aus mehreren Tabellen und diese beinhalten jeweils mehrere Datensätze. Definiert man einen Cluster als "Servergruppe", kann auch ein Einzelserver als Cluster angesehen werden, so dass immer alle Ebenen vorhanden sind.

Natürlich kann ein Server auch nur eine einzelne Datenbank oder eine Datenbank nur eine einzelne Tabelle beinhalten, aber die grundsätzliche Struktur bleibt die gleiche.

MongoDB arbeitet mit ganz anderen und doch sehr ähnlichen Strukturen: Ein MongoDB-Cluster besteht aus mehreren Servern. Shading (die Aufteilung der Datensätze einer Tabelle auf unterschiedliche Server) ist bei großen MongoDB-Installationen weiter verbreitet, wird aber auch von MySQL theoretisch unterstützt. Ein MongoDB-Server stellt verschiedene unabhängige Datenbanken zur Verfügung, ganz wie MySQL. Jede Datenbank besteht aus einer oder mehreren Collections, die wiederum einzelne Dokumente enthalten.

MongoDB nennt seine Tabellen zwar Collection und die Datensätze Dokumente, aber strukturell sind sie ziemlich ähnlich. Während eine MySQL-Tabelle Daten in ein strenges Strukturkorsett zwängt, können MongoDB Dokumente beliebig aufgebaut sein.

Wenn man eine Excel-Tabelle als bildliche Darstellung einer MySQL-Tabelle ansieht, dann wäre eine MongoDB-Collection wohl eher ein Ordner im Dateisystem, der unterschiedliche Dokumente beinhaltet. Mit GridFS stellt MongoDB tatsächlich ein Dateisystem bereit, dass einen MongoDB-Cluster als Speicherort verwendet und so viele der klassischen Probleme von Netzwerkspeichern (Dateisystemgröße, Redundanz, Absicherung gegenüber Netzwerkproblemen, etc.) umgeht.

 

Noch keine Kommentare. Schreib was dazu

Schreib was dazu

Die folgenden HTML-Tags sind erlaubt:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>