5.0 of MongoDB's eponymous database is now generally available, promising features for time series data, rearranging sharded workloads on the fly, and futureproofing APIs.
While the new features are intended to make life easier for developers and sees the document-store NoSQL database continue to progress to becoming a general-purpose database, concerns remain that the business is straying too far from its open-source roots and making it difficult for engineers to see under the hood, observers told The Reg.
MongoDB 5.0 has been given native time series support that promises clustered indexing, and window functions which the company claims will make it easier and faster to build and run IoT and financial analytics applications, for example.
Mat Keep, senior director for products at solutions at MongoDB, told The Register the database can be used for time series data, but "you have to do a lot of schema optimisation" to make it work.
The new release features "time series collections" which "automatically optimise your data model to store your data in a very compact, efficient format," Keep said. That reduces storage consumption, and makes queries faster, he claimed.
The second new feature in 5.0 is something the vendor calls "live resharding". As a distributed database, developers were required to use a shard key to define the approach to splitting data across a cluster.
"But one challenge was once you set your shard key up, you couldn't change it in place," Keep said. "So maybe the applications evolved in some way that need to change things, you'd essentially have to dump your data, and then reload into a new cluster, which means you've got downtime. Now, you could just change the shard key on demand and MongoDB will automatically 'reshard', redistribute your data for you, without there being any application downtime or any application interruption."
Third in the line of new features are Versioned APIs. Keep said the move pre-empted a shift toward a more rapid release cycle for MongoDB, which has seen one major release per year, and would now be released every quarter. The idea of Versioned API is that devs don't have to retest and certify their applications when they adopt a MongoDB upgrade.
From the new release onwards, the database would employ a "stable interface between the application and the database" which Keep said the vendor is "committed to and guarantee that we won't change in subsequent releases."
"Once you're up to 5.0, you could potentially run the database for years and years, upgrading it every quarter, without ever having to go back and retest and recertify your application," he said.
While automated support for time series data might appeal to users in the short term, the Versioned API feature might offer greater benefits in the longer term, said Matthew Aslett, research director for data, AI and analytics with 451 Research.
- Digital delinquent deletes developer's database during disastrous Docker deployment, defaults damned
- Enterprise databases deployed in Kubernetes? Proceed with caution, warns seasoned analyst
- Open-source developers under corporate pressure to adopt less-permissive licenses, Percona CEO says
- You only love me for my cache: New modules try to make NoSQL Redis more of a general-purpose database
"It kind of breaks the connection between an application and the version of the database. It gives users a little bit more freedom in terms of their ability to evolve their applications over time and evolve their database over time and separate evolution of the two," he said.
MongoDB is also previewing a serverless iteration of its Atlas DBaaS, which when it arrives on general release, could combine with the commitment on Versioned API.
"Any application developers could potentially be migrated over to serviceless – if the workloads make sense – over time. It kind of breaks the idea that the application is tied to a specific database and it enables a little bit more flexibility and agility. I think customers will benefit from that," Aslett said.
However, not all observers are so keen on the latest developments at MongoDB.
While the features for resharding was "really impressive" and would solve one of the biggest issues for developers using the database, Versioned API created the risk of technical debt in the database, said Akira Kurogane, MongoDB product owner at open-source database consultancy Percona.
"It's very impressive, the amount of effort they've gone into because they have to add so much code into every single function to do that, but it could be increasing the risk of having a bigger incident compatibly instead and making those issues vague and hard to understand. But lots of people were very excited about this," he said.
Kurogane said the approach is akin to wrapping developers in cotton wool. More broadly, Kurogane said MongoDB, which comes under MongoDB Inc's server-side public licence, had strayed too far from its true open-source roots. He pointed towards apparent obfuscation in ticket names, and the migration of the community discussion group from Stack Overflow to MongoDB.com as signs things had changed.
"I hope that they come back to open source, because that's what it came from, that's what people believed in, and that's drives evolution; it's not Wall Street, it's intellectual contribution from a community," Kurogane said.
MongoDB told us it remains committed to the open-source community, saying the MongoDB Community version has been downloaded more than 70 million times. Meanwhile, Stack Overflow remained a “core hub of activity for those wanting to engage with MongoDB”, the company said.
"Tickets in MongoDB remain available in a public Jira so the community can continue to have clear visibility into what the team is working on. The MongoDB Feedback Engine is also open - this provides the community with direct access to MongoDB’s R&D teams to make feature requests and for other users to upvote items," a spokesman said.
The vendor argued Versioned API would make developers much more productive and rid them of any technical debt.
On the results front, Mongo DB reported revenue of $590.4m for its fiscal '21 ended 31 January, up 40 per cent year-on-year, but operating losses widened to $209.3m from $147.9m. ®