Q&A with mLab: on Database Management, NoSQL and SQL Database Differences, and Database-as-a-Service for MongoDB Databases

By Community Team

In today’s digital-centric world, the amount of data available to us is growing at an exponential rate, creating new opportunities for growth as well as challenges for companies around the world. As big data continues to disrupt the business landscape, forward-thinking organizations have come to rely on databases to simplify the tasks of running and managing large and complex data sets. But not all databases are created equal.

To help organizations find the right database that fits their business needs, it’s crucial to know and understand the different types of databases. By tapping the right database, businesses can seamlessly store, access, and analyze large volumes of data for decision-making.

In this article, Will Shulman, the CEO of mLab, talks to SourceForge to discuss the differences between a NoSQL and SQL database and offers some insights on the most important industry-wide changes in database adoption. Very recently acquired by MongoDB, the leading modern, general purpose database platform, mLab empowers today’s modern businesses and application development teams by solving database management, scaling, or optimization challenges.

Q: Give us a quick rundown of mLab’s history. Why and when were you founded, and what industry need are you fulfilling?

Will Shulman, the CEO of mLab

Will Shulman, the CEO of mLab

A: The co-founders and I, who all worked together previously, started mLab in 2011. We were simply developers who were fed up with how difficult it was to work with databases. Maintaining relational databases was always a chore because of the necessity of transforming between JSON and the relational form of the data. That’s why MongoDB excited us – using an object database meant we no longer had to deal with painful ORMs.

So we decided to make a company to help other developers experience the simplicity of using MongoDB. mLab makes it extremely easy to deploy and maintain a MongoDB database on AWS, Azure, or GCP. It’s all about saving developers time so they can focus on what matters most to them – actually writing code. We automate and simplify all the difficult operational work associated with running a database such as backup and recovery, telemetry, rolling updates, and more.

Because our goal is to make developers’ lives easier, we put a great deal of energy into providing thoughtful, timely support to everybody using mLab. This philosophy seems to have resonated with developers as we now manage close to one million MongoDB deployments.

Q: Is there a typical mLab customer profile? What industries and/or company sizes are most drawn to mLab, and who are some of those customers?

A: We have a wide variety of customers, from individual developers setting up their personal glucose-monitoring systems, to high-growth startups such as Lyft, to large enterprises such as Verizon or SAP. Our free Sandbox Plans are immensely popular with individual developers for personal projects or prototypes. These small prototypes can grow into the next hottest startup. For example, Lyft has used mLab since the first version of the app was written in 2012. mLab helped Lyft scale up, moving to a sharded architecture, and they now power over 1 million rides per day.

Q: What makes a business well-suited for an open source NoSQL database like MongoDB versus a relational database? For a company just starting up, what factors should they weigh when deciding on a database?

A: MongoDB is a general purpose database. It’s great for modeling the objects that back modern applications: accounts and user profiles, messages, product catalogs, location-based data, logs, graph data, and much more. Because MongoDB schemas are flexible, it’s easy to quickly iterate on your data model, or to ingest data with different structures from disparate sources. As a document store, MongoDB is particularly well suited for JSON APIs, since you don’t have to deal with complex object-relational mapping.

When deciding on a database, you should choose a technology that will solve a wide variety of use-cases. There is a cost to running multiple database technologies since that splits the focus of an organization. It’s also important to choose a database that is designed from the ground up to be highly available and easily scalable. Otherwise, you may run into growing pains as you scale. It’s also a good idea to choose a technology with good hosting solutions so you always have the option of outsourcing operations to a third-party provider to save your team time.

Q: Are customers coming to mLab from other hosted database solutions, or are they mostly replacing in-house MongoDB management?

mLab New Deployment Creator

mLab New Deployment Creator

A: We see both. Those replacing their in-house MongoDB deployments are looking to save time for their team. Our simple UI and extra tooling help them to be more efficient. Support is a big draw for our customers. We believe that first-class support should be available to all of our customers as part of the product. We’re there to be an extension of our customers’ teams.

We also see many customers coming to MongoDB for the very first time. MongoDB has matured immensely as a technology in the past few years. It has become more stable and reliable, and features such as aggregations and transactions make MongoDB more powerful than ever. So more companies are choosing to use MongoDB.

Q: What are the biggest database management, scaling, or optimization challenges that mLab addresses with its Database-as-a-Service (DBaaS) platform?

A: It is time-consuming and difficult to run a production database. mLab simplifies tedious and sensitive operational tasks such as scaling and updating your deployment. Customers no longer need to build out their own backup and disaster recovery system either, because mLab has that built in. On top of making these operational tasks simpler, we also help customers with performance optimizations. Our Slow Query Analyzer monitors query patterns and recommends indexes or code changes that improve the speed of your queries. Customers can always ask our expert support team to review their deployment and recommend optimizations.

Q: What do you see as some of the most important industry-wide changes in database adoption and/or strategy over the past few years?

A: The adoption of document databases such as MongoDB has exploded. This is in part due to the rise of JSON APIs. JSON has become the data format of choice for developers, and document databases make it easy to store and query JSON. Developers no longer have to struggle with complex object-relational mapping. They can store their JSON objects directly in the database, making it easier to reason about data and accelerating the rate of development. Because of this explosion of JSON APIs, traditional relational databases such as Postgres have also added support for storing JSON documents.

Q: What’s your opinion on the meteoric rise in Kubernetes and container adoption? Do you think we’ll be seeing an increase in organizations using containers to deploy their databases? Does this affect mLab in any way?

mLab Company LogoA: Containers are changing how engineers deploy and manage applications. We believe that developers will want to use a container orchestration framework such as Kubernetes to manage all the components of their stack, including their databases. Kubernetes is exciting because it enables containerized databases to be self-healing and easier to scale. The support for stateful services in Kubernetes is improving rapidly, but there’s still work to do before Kubernetes can properly manage stateful services as complex as databases. Technologies such as CoreOS’s Operator Framework are making headway towards this goal. At mLab, we’re investing in these new technologies to provide an even better hosted MongoDB solution.

Q: mLab isn’t the only solution offering a DBaaS for MongoDB. What makes mLab stand out? What are the key features and capabilities that differentiate mLab?

A: mLab is the largest Database-as-a-Service for MongoDB, hosting close to one million deployments. We’re known for our outstanding support. Our customers frequently tell us that they consider us as an extension of their team because they count on our top-tier support for mission-critical needs. We also have simple and transparent pricing. For example, we don’t charge extra for data transfer or backups.

But it’s not just support and pricing, our features are more advanced too. Our Slow Query Analyzer evaluates the efficiency of complex query patterns. It recommends indexes to speed up your queries, as well as suggesting refactors necessary to work around some of MongoDB’s quirks. We also offer high-performance plans that use in-chassis disks. These unique plans provide high IOPS and extremely low latency for serious production workloads.