MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB vs CouchDB (ottimizzazione della velocità)

Solo per eseguire l'iterazione su socket vs HTTP e fsync vs conversazione in memoria.

Per impostazione predefinita, MongoDB non restituisce una risposta su una chiamata di scrittura. Scrivi semplicemente i tuoi dati sul socket e presupponi che siano nel DB e disponibili. Sotto carico simultaneo questo potrebbe essere eseguito il backup e non c'è un buon modo per sapere quanto velocemente Mongo davvero è a meno che non utilizzi una chiamata facoltativa che restituirà una risposta per la scrittura una volta che i dati saranno disponibili.

Non sto dicendo che le prestazioni dell'inserto Mongo non siano più veloci di Couch, l'inserimento nella memoria è molto più veloce della sincronizzazione su disco, la differenza più grande qui è nella differenza negli obiettivi di MongoDB e CouchDB in merito a coerenza e durata. Ma tutti gli strumenti di "prestazioni" che ho visto per testare Mongo utilizzano l'API di scrittura predefinita, quindi non stai davvero testando le prestazioni degli inserti, stai testando la velocità con cui puoi scaricare un socket.

Ho visto molti benchmark che mostrano Mongo come più veloce di Redis e memcached perché non si rendono conto che Redis e Memcached restituiscono una risposta quando i dati sono in memoria e Mongo no. Mongo sicuramente non lo è più veloce di Redis :)