Es wird oft behauptet, dass mongodb wahnsinnig schnell schreibt. Obwohl sie nicht langsam sind, ist dies eine Übertreibung. Der Schreibdurchsatz in mongodb ist durch die globale Schreibsperre begrenzt. Ja, du hast mich richtig gehört, es kann nur eine
Ich schlage auch vor, dass Sie die schemalose Natur von mongodb ausnutzen und Ihre Daten denormalisieren. Oft ist es möglich, nur eine Festplatte zu verwenden, um alle erforderlichen Daten zu holen (weil alles im selben Dokument ist). Weniger Festplattensuchen - schnellere Abfragen.
Wenn Daten im RAM gespeichert sind - es sind keine Suchvorgänge erforderlich, werden Daten direkt aus dem Speicher geliefert. Also, stellen Sie sicher, dass Sie genug RAM haben.
Karte / Reduzieren , Gruppe , $ wo Anfragen langsam sind.
Es ist nicht schnell, weiterhin in einem großen Dokument zu schreiben (zum Beispiel mit $push
). Das Dokument wird seine Plattengrenzen überschreiten und muss an einen anderen Ort kopiert werden, was mehr Festplattenoperationen erfordert.
Und ich stimme mit @AurelienB überein, einige Grundprinzipien sind in allen Datenbanken universell.
Aus meiner Praxis sollte eine Sache, die erwähnt werden sollte, dass mongodb nicht sehr gut für das Reporting geeignet sein, da in Berichten üblich Daten aus verschiedenen Sammlungen (' join ') und mongodb keinen guten Weg bieten Aggregieren von Daten mehrere Sammlungen (und nicht zur Verfügung stellen). Für einige Berichte kann map / reduce oder incremental map / reduce gut funktionieren, aber selten Situationen.
Für Berichte wird vorgeschlagen, Daten in relationale Datenbanken zu migrieren, die über zahlreiche Tools für das Reporting verfügen.
Dies unterscheidet sich nicht sehr von allen Datenbanksystemen.
Abfrage auf indizierte Daten sind schnell. Abfrage auf eine Menge Daten sind ... langsam. Aufgrund der Denormalisierung, wenn kein Index vorhanden ist, ist das Schreiben auf der Basis schnell, deshalb ist die Protokollierung der grundlegende Anwendungsfall.
Umgekehrt kann das Lesen von Daten auf der Festplatte (nicht im RAM) ohne Index sehr langsam sein, wenn Sie Milliarden Dokumente haben.
Tags und Links mongodb