Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

NoSQL Shootout: RavenDB vs MongoDB

32,516 views

Published on

A SoCal CodeCamp talk about two NoSQL databases, the crowd favorite MongoDB and the up-and-comer RavenDB. Which one is better at what?

This talk really just offers a pair and contrast view of both database systems and tries to speak to the strengths and weaknesses of each. It's a 300-level talk and is not meant for people who are totally unfamiliar with NoSQL and document database systems.

Published in: Technology
  • Be the first to comment

NoSQL Shootout: RavenDB vs MongoDB

  1. 1. vs.Aaron Stannard Nuri Halperin
  2. 2. What are we talking about today?OVERVIEW
  3. 3. What do RavenDB and MongoDB do that are similar?WHAT’S IN COMMON?
  4. 4. Fundamentals No Schema No Impedance Mismatch{ "Address" : "123 AnywhereSt.", "City" : "Springfield", Expose Data as JSON"PostalCode" : 99999 }
  5. 5. Queries Documents Stored as Collections Indexing for Deep PropertiesMap(k1,v1) → list(k2,v2)Reduce(k2, list (v2)) → list(v3) MapReduce Support
  6. 6. Scaling & Replication Sharding Support Replication Support Full Backup Support
  7. 7. What do RavenDB and MongoDB do differently?THE SHOWDOWN
  8. 8. FundamentalsRavenDB MongoDB Built with C# Built with C++ Data saved as Data saved as JSON BSON Uses Lucene.NET Uses B-Trees for for indexing indexing Uses Memory- Uses Esent for mapped files for Storage storage
  9. 9. Writing to a DatabaseRavenDB MongoDB Batch transaction Single row support transactions* Optimistic No concurrency concurrency management Granular write & ACID safety control
  10. 10. Reading from a DatabaseRavenDB MongoDB Cross-collection No cross-collection query support queries Server-side DbRef Client-side DbRef Resolution* Resolution No ad-hoc queries Supports ad-hoc on subsets queries on subsets Supports full-text No support for full-text queries queries
  11. 11. IndexesRavenDB MongoDB Supports static Supports indexes static indexes Supports ad-hoc No ad-hoc index indexes support Multi-map No multi-map indexes indexes Indexing performed Indexing is configurable in background to background or foreground
  12. 12. MapReduceRavenDB MongoDB M/R done as M/R done as indexes queries Supports No M/R pipeline incremental M/R M/R is calculated M/R is calculated in background in real time
  13. 13. Replication and ScalingRavenDB MongoDB Master-Slave Master-Slave Replication Replication Master-Master No Master-Master Replication Replication Manual & Auto Manual & Auto Sharding Sharding Mix and Match Replication / Shards Replica sets
  14. 14. EcosystemRavenDB MongoDB Limited driver Rich driver ecosystem ecosystem Little Lots of documentation documentation and examples and examples Depends on Can run Windows anywhere OSS and Commercial Free / OSS License Licenses ($$)
  15. 15. ExtrasRavenDB MongoDB• Supports Triggers • No Trigger Support• Multi-tenant • Multi-tenant• Supports OAuth / Basic • Supports Basic Auth Auth / Anonymous*• REST API • BSON over TCP
  16. 16. Further Reading• http://ravendb.net• http://mongodb.org• https://www.10gen.com/events/mongdb-san- diego (July 25th)

×