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

MongoDB vs CouchDB (Hastighedsoptimering)

Bare for at gentage sockets vs HTTP og fsync vs in-memory samtale.

Som standard returnerer MongoDB ikke et svar på et skriveopkald. Du skriver bare dine data til socket og antager, at de er i DB og tilgængelige. Under samtidig belastning kan dette blive sikkerhedskopieret, og der er ikke en god måde at vide, hvor hurtigt Mongo virkelig er, medmindre du bruger et valgfrit opkald, der vil returnere et svar til skrivningen, når dataene er tilgængelige.

Jeg siger ikke, at Mongo-indsatsydeevnen ikke er hurtigere end Couch, indsættelse i hukommelsen er meget hurtigere end fsynkronisering til disk, jo større forskel her er forskellen i mål MongoDB og CouchDB har om konsistens og holdbarhed. Men alle de "ydeevne"-værktøjer, jeg har set til at teste Mongo, bruger standard skrive-API, så du tester ikke rigtig indsatsens ydeevne, du tester, hvor hurtigt du kan skylle til en socket.

Jeg har set mange benchmarks, der viser Mongo som hurtigere end Redis og memcached, fordi de ikke indser, at Redis og Memcached returnerer et svar, når dataene er i hukommelsen, og Mongo ikke gør. Mongo er det bestemt ikke hurtigere end Redis :)



  1. Flere gruppeoperationer ved hjælp af Mongo-aggregationsramme

  2. MongoError:Muligheden 'cursor' er påkrævet, undtagen for aggregering med forklaringsargumentet

  3. Hvad svarer til skalkommandoen collection.getIndex() i pymongo?

  4. MongoDB c# henter alle matchende elementer i et array i et dokument ved hjælp af Definition Builder