Seize the Database: A Conversation With MongoDB's Nic Raboy
In the latest episode of Decoded, Nic Raboy shared insights into how MongoDB helps power today's innovative products and services.
Join the DZone community and get the full member experience.Join For Free
Nic Raboy remembers the challenge of database management from his experience at a previous employer that ultimately led him to a career as Senior Developer Advocate at MongoDB. "Every time we had to scale, which was about once a year, we had to throw more money at servers to make them more powerful. Not only that, but you had to actually shut down the database to scale it up. We'd have to worry about backups and making sure that things don't go south during the process."
MongoDB helps solve many of the pain points of database management by delivering a distributed database platform built for the cloud era. Millions of developers around the world use MongoDB to power companies with massive troves of data to manage, such as Google, SAP, eBay, Sega and EA.
On the latest episode of our podcast, Decoded, Raboy shared insights into how MongoDB helps power today's innovative products and services.
Seeing Data in a New Light
According to Raboy, MongoDB was founded by developers working for an ad-serving company that was having trouble with its existing database model. Time and again, they found themselves writing their own custom database implementations, which kept the team from achieving the agility they needed.
"Ads are non-rigid in the type of data you're using," Raboy explained. "You're not just storing addresses for people. You're storing pretty much anything, and that evolves quite fast. That's where MongoDB spawned out of - the need to be flexible."
With MongoDB, developers are able to work with data as objects instead of in the traditional row/column model. Not only is it more intuitive, but it allows developers to be more expressive with how they work with data.
"It changed things by making the lives of the developer a lot easier, in my opinion," Raboy said. "When you're building a modern application, very rarely are you working with your data in a spreadsheet or tabular form. Chances are you're working with objects or arrays, not cells or columns with limited values. That is where the value comes in. You're able to work with your data as it exists in the database."
Powering the Future of Applications
Raboy is a passionate gamer who can often be found streaming his exploits as a Pokémon trainer. When explaining the value of MongoDB, he naturally uses the increased database needs of modern gaming as an example.
"There's multiple sides to the story," he explained. "You have the data storage that you would use locally in the game. And then you have to worry about all the infrastructure that exists outside the game. For online gaming, you have to keep information about the players, what items they have, billing information, and anything else that might be stored for the player."
Should a game become a blockbuster, it needs to be able to quickly scale to host new players. And because gaming is a global, 24/7 activity, gaming companies can't afford to take servers down for even a second. MongoDB helps these companies scale to accommodate the load without having to scale hardware.
"You're adding nodes to a cluster, and those nodes help share the load, and you could shard your data across those nodes," Raboy explained. "You also have replica sets to ensure that there's no scenario where your data is inaccessible because your server's down."
As technology continues to become more integral to our daily lives, database management will be a critical element, even if most users never think about it when browsing their social media or online shopping. Distributed database technology like MongoDB is not only the most effective way of meeting these needs, but it's increasingly becoming the only viable solution.
"You look at major companies like Facebook, Twitter, or whatever future social media platform comes in. They get massive amounts of data. It's not realistic to scale vertically. To scale horizontally, you're going to want to have multiple clusters. You're going to want to have your data close to users. You're going to want to figure out how to archive data to get it out of the database when it's no longer necessary, but not get rid of it completely. Distributed databases are the way of the future. I can't imagine anything else taking that spot."
Check out this week's Decoded podcast to hear the full interview with Nic Raboy and learn more about database management for developers. Listen now and subscribe to future episodes.
Published at DZone with permission of Sydney Lai. See the original article here.
Opinions expressed by DZone contributors are their own.