PID Banner

Mittwoch, 2. Mai 2012

mongoDB Workshop München

Am 22. März fand in München ein Workshop zum Thema mongoDB statt. Da wir planen in meinem Unternehmen in Zukunft mongoDB einzusetzen, nahm ich und ein Kollege daran teil. Dies war der erste Kontakt für mich zu einer NoSQL-Datenbank. Referent war Richard Kreuter von 10gen. 10gen liefert die Entwicklerpower hinter Mongo.


Zuerst einmal muss man die Begrifflichkeiten klären. Was in SQL eine Tabelle ist, heißt bei mongoDB "Collection". Ein Eintrag in einer Tabelle in SQL entspricht einem "Document".

mongoDB ist mit einer Konsole ausgestattet die server-seitiges Javascript ausführen kann. Das heisst, alle Anfragen und Änderungen werden per Javascript über die Konsole an mongoDB geschickt. Hier ein paar Beispiele (Quelle: mongoDB Tutorial):

Im Beispiel wird eine ObjectId angezeigt. Diese Id wird von mongoDB selbst generiert und dient als eindeutige Id. Man kann auch eine selbst erstellt Id nutzen. Allerdings muss man darauf achten, dass sie eindeutig ist.

mongoDB benutzt sogenannte "Memory-mapped Datafiles" für die Verwaltung der Datendateien. Konkret bedeutet dass, das mongoDB die Dokumente nicht von der Festplatte liest sondern aus dem Arbeitsspeicher. Sollte das Dokument nicht im Arbeitsspeicher vorhanden sein, wird das Betriebssystem aktiv und legt die Datei in den Speicher. Das Schreiben funktioniert ähnlich. Ist die Datei bereits im Speicher wird die Änderung dort gemacht und die Datei als "dirty" markiert. Das Betriebssystem kümmert sich darum, dass alles auf der Festplatte gespeichert wird.

Collections können auch auf einen bestimmte Anzahl Dokumente begrenzt werden. Solche Collections nennt man "Capped Collections". Hier ein Beispiel für das Erstellen:

Die erstellt Collection kann maximal 100.000 Einträge aufnehmen.

Keine Kommentare: