bigdata:mongodb
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
bigdata:mongodb [2015/10/05 20:09] – angelegt brueck | bigdata:mongodb [2015/10/05 21:21] – [Abfragen] brueck | ||
---|---|---|---|
Zeile 16: | Zeile 16: | ||
Jedes Dokument besitzt eine **ObjectId** („_id“), | Jedes Dokument besitzt eine **ObjectId** („_id“), | ||
- | Die Größe eines Dokuments beschränkt sich auf 16MB. Das soll verhindern, dass ein File zu viel RAM- oder Netzwerk-Kapazitäten beansprucht. Dokumente, die größer sind, werden mit GridFS in kleinere Teile aufgespalten. ([[bigdata: | + | Die Größe eines Dokuments beschränkt sich auf 16MB. Das soll verhindern, dass ein File zu viel RAM- oder Netzwerk-Kapazitäten beansprucht. Dokumente, die größer sind, werden mit GridFS in kleinere Teile aufgespalten. ([[bigdata: |
Beispiel für ein Dokument: | Beispiel für ein Dokument: | ||
Zeile 33: | Zeile 33: | ||
</ | </ | ||
- | Um nun ein Dokument anzulegen, muss dafür die Datenbank und die Collection angegeben werden: '' | + | Um nun ein Dokument anzulegen, muss dafür die Datenbank und die Collection angegeben werden: '' |
Bei dem Beispiel handelt es sich um ein verschachteltes Dokument. Das „adresse“-Feld beinhaltet ein Adressobjekt mit eigenen Attributen. Das Feld „mag“ beinhaltet eine Liste aus beliebig vielen Elementen. Eine Liste kann auch aus mehreren Objekten bestehen und z.B. die Liefer- und Rechnungsadresse (ähnlich aufgebaut wie „adresse“) einer Person speichern. Ebenso gut könnte ein anderes Dokument an dieser Stelle aber auch nur „Hund“ beinhalten oder das Feld gar nicht erst angelegt haben, da es kein fest definiertes Schema gibt, was im Gegensatz zu RDBMS flexiblere Gestaltungsmöglichkeiten bietet, da man dort vor dem Erstellen einer Tabelle genaue Angaben darüber braucht, welche Felder angelegt sein müssen (die im Zweifelsfall mit NULL aufgefüllt werden müssten). | Bei dem Beispiel handelt es sich um ein verschachteltes Dokument. Das „adresse“-Feld beinhaltet ein Adressobjekt mit eigenen Attributen. Das Feld „mag“ beinhaltet eine Liste aus beliebig vielen Elementen. Eine Liste kann auch aus mehreren Objekten bestehen und z.B. die Liefer- und Rechnungsadresse (ähnlich aufgebaut wie „adresse“) einer Person speichern. Ebenso gut könnte ein anderes Dokument an dieser Stelle aber auch nur „Hund“ beinhalten oder das Feld gar nicht erst angelegt haben, da es kein fest definiertes Schema gibt, was im Gegensatz zu RDBMS flexiblere Gestaltungsmöglichkeiten bietet, da man dort vor dem Erstellen einer Tabelle genaue Angaben darüber braucht, welche Felder angelegt sein müssen (die im Zweifelsfall mit NULL aufgefüllt werden müssten). | ||
- | Beim Einfügen bietet MongoDB die Möglichkeit, | + | Beim Einfügen bietet MongoDB die Möglichkeit, |
Zeile 66: | Zeile 66: | ||
Des Weiteren gibt es Optionen mit '' | Des Weiteren gibt es Optionen mit '' | ||
- | Eine praktische Übersicht an Befehlen findet sich z.B. [[http:// | + | Eine praktische Übersicht an Befehlen findet sich z.B. [[http:// |
- | Darüber hinaus lassen sich größere Aufgaben auch in MapReduce-Jobs erledigen, die in JavaScript geschrieben werden ([[bigdata: | + | Darüber hinaus lassen sich größere Aufgaben auch in MapReduce-Jobs erledigen, die in JavaScript geschrieben werden ([[bigdata: |
bigdata/mongodb.txt · Zuletzt geändert: 2015/10/05 21:22 von brueck