Databases are the beating heart of almost every software application. Today, relational databases are prevalent and most enterprises run Oracle, Microsoft SQL Server, or the like. More recently, however, the relational database has been challenged.
One vendor at the forefront of this change is document database provider, MongoDB. MongoDB held its annual MongoDB World event in June, where it presented its latest product capabilities and shared client stories. But, as an attendee, what was there to learn about MongoDB and the changes afoot in the database landscape?
The big challenges of big data require new solutions
MongoDB turned 10 years old this year, in a decade that has seen a sizeable shift in the collection and usage of data. There has been an exponential increase in the amount of data collected which has been primarily driven by the volume of devices collecting data (mobile, Internet of Things) and industry’s insatiable desire to drive business decisions from insights derived through data. As a result, IT is looking for new ways to collect, store and use data at scale.
Data lakes, Hadoop and NoSQL have been among the technologies vying as solutions to the big data challenges that relational databases can struggle with. MongoDB is a non-relational document database that is highly scalable and can run on-premises or in a public/private cloud. In addition, MongoDB Atlas is a cloud optimised version that runs on AWS, Microsoft Azure and Google Cloud Platform (GCP).
Documents: scalable, flexible and productive
The benefits of MongoDB include scalability, flexibility and developer productivity. Because of the way that MongoDB stores data in documents, it can scale out more easily than relational databases. In a cloud environment, this can allow MongoDB to make better use of the high scalability of the infrastructure compared to others.
Without the need to invest in designing and building complex relational data models upfront, developers can quickly get to work on building software. The document approach means that the structure in which data is held (in a document) can change as developers build.
If a developer realises that they need a new data point, they simply add it and continue building. No need to refer to the database admin and wait for a new column to be added (an exercise that could take months within an enterprise) as there is less risk with respect to how a change in structure will impact the application, and no need for a developer to spend time changing existing code.
Fearless in the face of the big hitters
MongoDB has been remarkably successful. Its CEO, Dev Ittycheria, was keen to point out that according to the DB-Engines website that ranks the popularity of databases, MongoDB is currently at number five. He highlighted that the top four spots are taken by long established products from large vendors such as Oracle and Microsoft. To put MongoDB’s success in a little more perspective – the company’s annual revenue represents less than 36 hours of income for Microsoft…
Its nearest document database competitor sits 17 positions lower in the rankings. This may reflect the qualities of MongoDB’s product rather than a wider renaissance in non-relational databases. Even MongoDB itself recognises that relational databases will dominate the market for a long time to come; after all, document-orientated, non-relational databases are themselves decades old and were beaten out by relational.
Highly portable database for a hybrid cloud world
Contributing to the success of MongoDB has been its strategy of running across the major public cloud platforms. Atlas runs on AWS, Microsoft Azure and GCP, while MongoDB as a service can run on IBM Cloud.
AWS and Microsoft have recently released their own document database products, but these have so far done little to dent MongoDB’s surging growth. This may be because they lack capabilities, but it is possible that in a market embracing hybrid cloud, that MongoDB can run across multiple public and private clouds, giving it a strong portability story that the others cannot match.
With MongoDB, a customer can move their data not just between regions within a single cloud provider but between providers and on/off-premises, making it an ideal solution for building portable cloud applications where one is not locked-in to a specific cloud platform or vendor.
Relational vs non-relational: It shouldn’t be a binary choice
MongoDB has been experiencing fantastic growth and this is likely to be sustained for the foreseeable future; however, that is probably not because most organisations are swapping each and every relational database for MongoDB. While plenty of applications are being re-platformed from relational to MongoDB, many customers are choosing both. Document vs relational does not have to be a binary choice in all cases.
While in new applications it may be that MongoDB is preferred over a relational database, many customers are using MongoDB together with their traditional relational databases. A typical such use case is where a customer’s relational database may be overwhelmed by a surge in demand caused by new mobile applications – more users than ever have access to the data. A solution is to have the data synchronised with an instance of MongoDB that can take the additional strain.
A similar use case is where MongoDB is synchronised with a traditional relational database, providing developers with a data platform on which they can be more productive. Existing applications can continue to use the relational database, while new innovative applications using the same data can rely on MongoDB.
It is these types of use cases that are more likely to sustain MongoDB’s growth and the company may do well to promote this story over the binary choice message. Instead of having to fight the likes of Oracle and Microsoft for market share, it can grow without having to dent those vendors’ business.
Can innovation beat the growing pains ahead?
The database market is mature and there are features of databases that many have come to expect. There is also a lot of existing skills, tools and experience in the market around relational databases. While MongoDB has its own query language optimised for the way in which it stores data, it has also launched support for SQL – knowing that this will lower the barriers to entry for many in the relational world.
Among the latest developments announced at MongoDB World was support for transactions (common in relational databases) and the ability to use AWS S3 storage as a data lake where documents can be stored in large volumes and queried as if they were in MongoDB. These two examples show how MongoDB balances the requirement to deliver traditional database capabilities with new innovations.
As the company grows and enterprises begin to look at more use cases, the demand for specific capabilities will increase. This balance will be potentially harder to find as it tries to satisfy such demands. Similarly, it may need to further scale its partner approach if it is to grow beyond the limits of its internal sales function. With rapid growth can come challenges that may require functional changes and more difficult cultural change, something we have seen other fast-growing tech companies struggle with.
Here’s looking at you, MongoDB
There’s no doubt that MongoDB has captured developer mind share and has shown that relational databases are not the only game in town. It has also capitalised well on a seismic shift in the use of data and is well-suited to many modern data use cases. Its go-to-market strategy through public cloud delivers on the key ambition of application portability that is at the forefront of many hybrid cloud strategies.
The business itself is saying and doing the right things to attract the market – especially enterprise – and is honest and sensible in its views of the market and aspirations. There is no reason to suppose that MongoDB will do anything other than continue to succeed.