Si sostiene spesso che mongodb ha scritture insanamente veloci. Anche se non sono davvero lenti, questa è piuttosto un'esagerazione. La velocità di scrittura in mongodb è limitata dal blocco di scrittura globale. Sì, mi hai sentito bene, ci può essere solo l'operazione di scrittura ONE sul server in qualsiasi momento.
Inoltre, ti suggerisco di sfruttare la natura di schemaless di mongodb e archiviare i tuoi dati denormalizzati. Spesso è possibile fare solo un disco cercare di recuperare tutti i dati richiesti (perché è tutto nello stesso documento). Meno ricerche su disco - query più veloci.
Se i dati sono nella RAM, non è richiesta alcuna ricerca del disco, i dati vengono inviati direttamente dalla memoria. Quindi, assicurati di avere abbastanza RAM.
Map/Reduce, group, $where le query sono lente.
Non è veloce mantenere la scrittura su un documento grande (utilizzando $push
, ad esempio). Il documento supererà i limiti del disco e dovrà essere copiato in un altro posto, il che implica più operazioni sul disco.
E sono d'accordo con @AurelienB, alcuni principi di base sono universali in tutti i database.
fonte
2011-12-19 14:14:08
Quello che ho sentito dire è "mongodb ha scritture individuali molto veloci, ma il sistema di blocco ti limita a uno alla volta." Questo si applica anche con sharding? – Abe
No, sharding mitiga questo problema. Ogni frammento ha il suo lucchetto. –