Thanks to Brooks Crichlow, Vice President of Product Marketing at MongoDB for sharing his thoughts on the current and future state of databases.
Q: How are you and your company involved in databases?
A: MongoDB is the world’s leading non-relational database. Our mission as a company is to unleash the power of software and data for innovators everywhere. MongoDB makes it easy to handle the vast and variable data that modern applications call for.
Q: What are the keys to a successful database strategy?
A: Speed, scale, and security are certainly important, but another key to a successful database strategy is developer productivity. Developers want to use tools that let them innovate at speed, not slow them down. When developers try to build and run modern applications on top of legacy, relational databases, it can be an incredibly frustrating and time-consuming process.
In an economy where developer productivity drives company innovation, that is a huge problem. A successful database strategy must consider what will work best for developers.
Q: How can companies benefit from databases?
A: More often than not, a company’s competitive advantage comes from its software and data. This is true not only for technology companies but all companies. When developing applications that are critical to the business, selecting the right database is crucial. Innovators need a database that not only has the core capabilities of the past decades of database development but also addresses the performance, scalability and flexibility demands of modern applications.
Q: How have databases changed in the past year?
A: One major, recent development in the database world is a shift to the cloud. As companies in every industry become more confident in migrating services and infrastructure to the cloud, the database is following suit. Database-as-a-service (DBaaS) offerings are convenient for users because they’re managed and operated by the vendor, freeing up time that would otherwise be dedicated to operational tasks like provisioning, configuration, patching, upgrades, backups, and failure recovery. Most DBaaS offerings also offer elastic scalability with no application downtime.
DBaaS is definitely seeing traction in the market. Our own DBaaS offering is available on AWS, Google Cloud Platform, and Microsoft Azure. MongoDB Atlas has more than 30,000 clusters deployed after being introduced just a year ago. Our goal is to offer customers a global database platform that they can manage at a click of a button — the convenience that cloud-first companies demand.
Q: What are the technical solutions you, or your clients, use for your databases?
A: MongoDB is our core product, and one of the most popular databases in use today. It can be deployed on-premises, in the cloud or used as a service via MongoDB Atlas. MongoDB Compass is a GUI for MongoDB, which allows developers and others to interact with the database. MongoDB Ops Manager is an administration platform that makes it easier for ops teams to run MongoDB by automating provisioning, scaling, upgrades, monitoring and alerting and backups. Users often integrate MongoDB with other components of their environments using our connectors, including the Connector for Spark and Hadoop and the Connector for Business Intelligence.
We announced a new service in June called MongoDB Stitch, available in beta. MongoDB Stitch is a backend-as-a-service that simplifies the boilerplate backend work of developing modern applications. It offers a direct API to a MongoDB database, strict security, and privacy rules to protect app users, and direct integration with other services like Twilio, Slack, GitHub, Mailgun, and more.
Q: What are real-world problems you, or your clients, are solving with databases?
A: Our customers use MongoDB to solve a wide set of problems across industries, and you can find hundreds of examples here. These range from providing a single view of the customer, to the Internet of Things, real-time analytics, content management, legacy modernization, cloud data strategy, and more.
One very common problem is integrating data from many disparate sources. This is a problem that can be quite hard to solve with a relational database, as designing a schema to consolidate and keep up with changes in the source systems is hard or impossible. MetLife, one of our customers, tried for two years to solve this problem using a relational database but found it impossible. With MongoDB, they were able to build a prototype in two weeks and go to production in three months, delivering a single view of the customer for the customer service agents.
Another interesting class of problems is e-commerce. There are a number of components of e-commerce platforms that require the flexibility that MongoDB provides. One is the product catalog. Catalogs need to store information about a huge number of products with variable sets of attributes. Otto, Germany’s largest retailer moved its catalog of two million products to MongoDB. That migration cut catalog update times from 12 hours to 15 minutes. Another is order capture and quote generation and order fulfillment. Aside from the data modeling problem of orders, these systems need to be highly available and provide a great customer experience — real revenue is at stake! When Cisco moved its e-commerce order system to MongoDB, it cut 99th percentile latency from five seconds to 600-700ms.
Q: What are the most common issues you see companies having with databases?
A: The biggest problem that we see is the rigidity of traditional relational databases. Modern applications handle rich, complex data — and often at high volume. At the same time, iterative development means that you might be changing your application weekly or even daily and the underlying data model needs to change to fit. Relational databases, with their rigid schemas, just aren’t built for this world. MongoDB’s flexibility and scalability make it simple to store a wide variety of data and to meet the evolving needs of your applications.
Q: Where do you think the biggest opportunities are in the evolution of databases?
A: One is evolving to meet the continuously changing needs of the cloud. Running in the cloud now is table stakes, and delivering the database as a service is becoming widespread. The next step is to match the new ways that modern cloud applications are built. Many new applications are composed of microservices; more often than not, some of those are third party cloud services that an application developer simply connects to. With MongoDB Stitch, we’re simplifying the process of composing services into an application backend.
Another is the convergence of transactional and analytical workloads. It used to be the case that you had a database to run an application, and if you wanted to do any analytics on that data, you moved it over to a data warehouse. More and more, our customers are performing real-time analytics on their data where it lives, rather than relying on batch ETL. We see this in two different forms. One is a matter of running separate analytical and transactional workloads on the same system, removing the complexities of maintaining multiple copies of data. The other is a growing demand for applications that directly incorporate advanced analytics — i.e. for dashboards, real-time personalization, IoT, and other use cases.
Q: What skills do developers need to be proficient with databases?
A: For most developers, familiarity with relational databases and SQL is still a requirement. But it’s crucial to understand the limitations of the relational model and to be proficient with a non-relational alternative. If you’re a developer or DBA looking to develop or improve your MongoDB skills, I would encourage you to take a free online course at MongoDB University.