MongoDB says its NoSQL database is a developer's dream
Open source database firm MongoDB attracted over 1,000 delegates to its annual European users conference in Billingsgate, in the City of London. They streamed into a grand and historic conference center housed in what was once Billingsgate Fish Market – at one time the largest fish market in the world. So what was the catch of the day for this up-and-coming database player?
But first, a little background. MongoDB was founded in 2007 by Dwight Merriman, Eliot Horowitz and Kevin Ryan – the team behind DoubleClick. At the Internet advertising company DoubleClick (now owned by Google), the team developed and used custom data stores to work around the shortcomings of existing relational databases. The business served over 400,000 ads per second, but struggled with both scalability and agility. The team aimed to create a database that tackled the challenges it faced at DoubleClick, using a NoSQL document store.
More traditional relational databases such as those from Oracle, Microsoft and IBM store data in rows and columns and can be queried with the popular Structured Query Language, SQL (for that reason relational databases are also considered SQL databases). But to achieve the scalability and flexibility it was looking for, MongoDB opted to use a NoSQL architecture.
NoSQL originally stood for ‘no SQL’ but some vendors in the space do now support SQL, so sometimes the acronym is described as ‘not only SQL’. MongoDB however must be queried using the company’s own language – MongoDB Query Language. It says though that developers can familiarize themselves with it in a matter of weeks; MongoDB of course offers training and online courses, and says it has had over one million ‘MongoDB University’ registrations. Today, MongoDB has over 7,400 customers in more than 100 countries.
Not all NoSQL databases use the same architecture. There are key-value stores, wide-column stores, graph databases (particularly good with network-related or spatial data) and document databases. MongoDB is a document database, which means data is stored in flexible documents, meaning fields can vary from document to document and data structure can be changed over time. The company says that this architecture takes the best attributes of relational databases (which are particularly good at handling transactions) with the advantages of NoSQL in terms of flexibility to make changes when needed, and the ability to scale horizontally across commodity hardware. For this reason it says it's the best option for modern application developers.
One of the reasons MongoDB has grown so rapidly is that is indeed liked by developers, who are able to download the free, open source version of the database and give it a try. It says there have been over 40 million downloads of MongoDB. MongoDB (the company) offers additional technology on top of the open source version for which customers pay a subscription: technologies include MongoDB Enterprise Advanced and MongoDB Atlas, which is a cloud-based version of the software.
In summer this year MongoDB released the latest version of the product, version 4.0. To tempt its existing customers to upgrade from version 3.6, in that product it added support for multi-document ACID transactions. ACID stands for atomicity, consistency, isolation and durability, and ACID is an important feature of transactional databases. Relational databases have it, but few NoSQL databases do (and some that claim to are actually ACID-like rather than true ACID when you look beneath the covers). But adding support for ACID transactions is not just about driving existing users to upgrade, but also about making it easier to extend the developer productivity advantages of MongoDB to a broader range of apps in the enterprise.
With 4.0, the transaction capability across multiple documents is limited to replica sets – it doesn’t yet work if the database is sharded across multiple nodes. That capability is coming in version 4.2, probably around the middle of next year. The company told us that it is sure that some companies are waiting to jump straight from 3.6 to 4.2 rather than moving to 4.0 now, although it still maintains that upgrades to 4.0 so far have been ‘relatively strong’.
Anyway at its conference it announced several new features. MongoDB Mobile reached general availability, for instance. It’s a mobile database that allows developers to build faster and more responsive applications that can take advantage of real-time, automatic syncing between data held on a mobile device and the backend database. Previously, this could only be done by installing an alternative or feature-limited database within the mobile application, which resulted in cumbersome extra management, complicated syncing, and reduced functionality.
The company noted that offering MongoDB Mobile further enhances its IoT story, because it means the database can run on edge devices in IoT scenarios. MongoDB Mobile runs on either Android or iOS devices – it clearly doesn’t see Windows devices as a priority just yet.
The company also made enhancements to MongoDB Stitch. While MongoDB Atlas is a database as a service, MongoDB Stitch is a level up the stack: it calls it a serverless platform, or even 'backend as a service' (BaaS). MongoDB Atlas provides all of the features of MongoDB while automating database administration tasks such as database configuration, infrastructure provisioning, patches, scaling events, backups, and more. This allows users to deliver applications or new features quickly, and focus on what matters most to them and their customers.
With the latest announcement, the firm said its ‘serverless’ Stitch product has extended integration options, including more than 20 Amazon Web Services (AWS) services, additional authentication providers, multiple Atlas clusters, and any application code through MongoDB's drivers.
Developers can exploit all of these services without learning new APIs or adding backend code, MongoDB said. Multi-region support for Amazon Web Services (AWS) has also been extended to its first European (EU West 1) and Asia-Pacific region (AP Southeast 2), as well as US East 1 and US West 2 in North America, with the ability for applications built on Stitch to be globally distributed across all of those regions.
The firm also announced that a MongoDB Atlas free tier is now available on Microsoft Azure, so developers can test their applications for free before they put them into production. MongoDB Atlas first launched on Azure last year (it’s also available on AWS and Google Cloud Platform). A free tier was already available on AWS and Google Cloud Platform, so this announcement means developers have a good choice of execution venues.
We were also keen to hear from executives what the future holds for its recent acquisition – it bought mLab in October this year for $68m. MLab also has a database as a service product similar to MongoDB Atlas, which is particularly easy for developers to get started with. Since founding in 2011 the company now manages around around one million databases in 43 different data centers and three major cloud providers. MongoDB said that while it is too early to go into too much detail since the ink is barely dry on the acquisition, it does expect to gradually migrate mLab users to Atlas, although it insists the transition will be seamless and mLab customers will benefit from MongoDB’s broader portfolio and support services. MongoDB will also be looking to see if any of mLab’s technology could enhance Atlas.
In its most recent quarter, MongoDB announced pretty astonishing figures. Revenue was up 61% year-on-year to $57.5m while customer numbers were up 72% to 7,400. Atlas revenue accounted for 18% of total revenue, which is up over 400% year-over-year. The company is still investing heavily for growth (it posted a net loss of $32.1m for the quarter) but it’s clear that the firm is proving more and more attractive to developers building modern applications, thanks to its scalability, ease-of-use and agility. Definitely a data platform company that PAC will keep firmly on its radar.