This Is Why You Should Learn MongoDB
After enrolling in a coding boot camp, you may start to see it everywhere. Questions relating to MongoDB posed on Quora; highly trafficked forums on Stack Overflow written by fledgling developers and even veteran programmers who are curious to learn about the technology; and likely your boot camp instructors—those in real or virtual classrooms—will tell you to download MongoDB or another NoSQL database like it. (Please note, I’ll use the term “NoSQL DB” as an interchangeable term for MongoDB within this article.) This aforementioned NoSQL database (DB) is extremely popular in web development, data science, information systems, you name it. “But why is it so popular?” You may ask.
The reason for its popularity is simple: MongoDB (and other NoSQL databases like it) are the new, direct result of many years spent in the industry with no other option than the more rigid and traditional relational databases that have been conceptualized since the 1970s. There will be more on relational and non-relational databases, as well as on NoSQL systems below.
But for now, the most important takeaways are that you should learn the technology because:
- It is backed by a robust community (one which is only growing stronger)
- It is easy to us, beginner-friendly, flexible, and efficient
- After learning it, you are immediately more marketable in the workforce
A Few Words on Databases and Their Importance
First, it is true that databases can be intimidating for new developers. When they are fully-fleshed and contain trillions of records, DB’s can make even the most rock-solid developers squeamish. Despite the often complicated architecture required for huge, hulking databases, they are actually just composed of an assortment of very simple components—all of which are usually tied together by commonalities such as an id, tables, columns, or variables.
But within a lot of coding boot camps, the backend is (you guessed it) usually taught during the back half of the class. This does not mean that databases are extremely difficult or reserved for last because they are a lot more challenging.
Relational Databases vs Non Relational
Databases can be as simple as a name, phone number, and address logically ordered in rows and columns and laid out consistently in a relational manner: or just a phone book, if you want to get technical about it. This is an overly simplified way of explaining what is meant by the term “relational database.” The data relates back to each other in a logical manner, where multiple databases can be connected, file systems are organized in hierarchies, and each data input is sent to parts of the database according to how they relate to the overall logic of the system.
Non-relational databases are not organized this way. They are organized in a schema-less manner, which just means that there aren’t any underlying assumptions being made about how the data is organized. Wherever the data is going, it isn’t being laid out logically like a phone book; the data is less consistent, which in turn is less work for you to worry about as you continue on with your boot camp adventures.
Databases: In Brief
Databases don’t have to be intimidating—consider a phone book. They are important and omnipresent in most websites and applications everywhere. Relational DB’s require you to design structures first before you input data. Non-relational DB’s don’t require you to design data structures before you make documents in JSON form. MongoDB sorts data for you through a schema-less system, and saves a lot of time and possible headache. And because data is not prioritized the same way a relational DB would, you can get right to your coding.
But for those who have aspirations to become professional full-stack developers after first learning the basics through a web dev boot camp, the logical first step—once you get to the backend—is to download MongoDB for managing data on the backend. Especially for all of your full-stack projects in your respective boot camp. A recommendation would be to download the exact database management system (a DBMS like MongoDB) that your instructor uses or to even filter out potential instructors based on which DB program they use (if they use Mongo or not).
Why go through the trouble to download this particular DBMS over the others? The answer is that your marketability can rise once you familiarize yourself with the technology.
According to this article from Acadgild: “MongoDB is fast becoming an industry trend and is gaining popularity for its powerful query language and its easy transition from a relational database to NoSQL database.” This couldn’t be more true; and it seems like the trajectory of its usage and popularity will only increase. And citing the same article, but in a section that references the 451 Group, “it was responsible for more than 50% of all mentions of NoSQL database in LinkedIn member profiles in 2015 Q3, placing it way ahead of its competitor.”
This does not mean that these statistics will never change, but the trends are only increasing upward and will continue to do so as the amount of data expands. What potential employers will look for in developers is the skills necessary to accommodate the need for scalable systems, efficiency, and speed, and MongoDB does all of these things. One could say that non-relational DB’s are here to stay, and their popularity means that employers will be looking for those who are skilled in DBMS like it. As more websites and applications need to have cloud capabilities to be flexible within this Big Data world, this technology will only pick up steam.
According to Markets and Markets, “The big data market is expected to grow from $28.65 Billion in 2016 to $66.79 Billion by 2021.” That is a large amount of growth to be made, and this once again shows the importance of the technology. In addition, a Seeking Alpha article says this: “The growth in the industry is helping drive expansion in emerging non-row and column-based databases – the NoSQL databases.” And the usage and popularity will clearly only continue to gain momentum.
You may not have aspirations to be a full-stack developer, but for the exercises on the backend portion of your boot camp, you could do worse than download a DBMS like Mongo. Once you have downloaded it, make sure to pay attention to lessons on it or other systems like it because as big data expands, so too will the need for highly scalable, efficient databases. And potential employers will be looking to hire based on those who can handle this new technology.
The Importance of Popularity
Now, just because something is popular doesn’t mean it is objectively good. But in the case of MongoDB, popularity means that you have a robust community to draw from. And the more people who use a management system, the better the infrastructure backing that technology.
In Summary: Why Learn MongoDB
If you go to DB-Engines and check out the popularity rankings of just how much the other big DB’s are used, you will get a pretty interesting picture of the growth of Mongo as a technology. All of the relational DB’s, the number one being Oracle, are on a decline. And as things keep shifting and popularity keeps growing for the non-relational crowd, so too will the user-base. In sum, the more popular the database becomes, the more robust the community and technology. It is only increasing in size and popularity, and seems to be shifting that way because of data needs. Learn it, practice it, and go design some killer apps!