RavenDB vs MongoDB
An Intern's Journey:
Working With
Document Database
By Ido Vitman Zilber
This summer, we welcomed a talented intern, Ido, and decided to leverage his fresh perspective and lack of experience. We tasked Ido with creating a simple application using MongoDB and RavenDB, relying solely on his knowledge and online resources. This project aimed to evaluate how beginner-friendly each database is, especially from the viewpoint of someone who hasn't yet finished high school.
Follow Ido's journey as he explores the different APIs and navigates the various issues he encounters while processing large amounts of information with both systems.
EXPLORE
THE FULL JOURNEY
PART 1
In this video, Ido (a high school student) is going to showcase how you can start using a document database with both RavenDB and MongoDB.
With no previous experience, Ido is a blank slate and you can watch his journey as he learns about document databases and how each database engine functions.
Ido use Node.js for the backend & Next.js for the frontend and you'll learn how to build a simple API using a document database.
PART 2
Dealing with small amounts of data is easy, but what happens when your database grow large? Before we can answer that question, we need to actually get the data into our database.
In this video, Ido is going to test various ways to bulk load a lot of data into both RavenDB and MongoDB. You can see the strategies that failed spectacularly and which ones got us over the finish line quickly.
Ido was able to take initial speed of 200 docs/sec all the way to 48,000 docs/sec!
PART 3
With 10 million records in the database, we can go back to our application and see... it crash and burn. It turns out that you need to take care of things like pagination when you have that much data.
In this video, Ido will walk you through using pagination in RavenDB and MongoDB and adapting the application to dealing with large amount of data.
You'll also see profound behavior differences between RavenDB and MongoDB starting to crop up.
PART 4
You want your applications to be fast, even when you deal with huge amounts of data.
In this video, Ido will explain how to get good performance from your database and how indexes can help you achieve that.
RavenDB has auto-indexes, which handle this for you, but with MongoDB, you have to deal with that explicitly and manually. Ido goes into great lengths showing off the process of getting things to run fast enough.
You'll also lean how you can deeply inspect what is going on in the database, and see how a properly tuned application deals with large sets of records efficiently.
RavenDB and MongoDB are both JSON document databases from the late 2000s, with a focus on performance,
scalability, and modern database design.
They share similarities on the surface, but the underlying design philosophies and visions for what a modern
database should be are distinctly different.
We have carried out an in-depth comparison of both products.
ABOUT ME
My name is Ido Vitman Zilber,
I'm a 10th grade high school student learning computer science.
I have started to experiment with code from a young age,
and this summer (2024) I had the opportunity to work as an intern for RavenDB.
Get started in minutes
Sign up or launch a playground and see the difference for yourself