Since the launch of Azure Cosmos DB in 2017, Microsoft has been rolling out improvements. Built with global distribution and horizontal scale as its key focus, Azure Cosmos DB provides support for NoSQL and many other APIs.
Companies around the globe, including ourselves, have made use of the turnkey global distribution, enterprise-grade performance and security, limitless and elastic scalability of reads and writes and other such features. But, as with all software, new features are required and current features need to be upgraded.
As of March 2019, the Azure Cosmos DB team has publicly stated they are working on the following features:
Latest News – March 2019
These first feature requests have had comments from the team as recently as March. We know the features are on the runway, but there is no news yet on when they will reach general availability.
- Integrate with Azure Active Directory. This will improve the ease of security and allow a consistent authorisation mechanism for all areas of an Azure hosted application.
- Cosmos DB BulkExecutor for .NET Core. The current bulk executor which allows the code to update a large number of documents in a performant way is only available in the .Net Framework library. Currently leaving out the ever increasing use of .Net Core.
- Support ORDER BY on the ST_DISTANCE spatial function. You can hold spatial information in Cosmos such as points on a map but there is currently no way to sort this based on that data.
- Support Gremlin Bytecode to enable the Fluent API of Gremlin.NET. The Fluent API allows easier to read code and makes it easier to implement queries against Gremlin.
- Add DocumentDB Emulator support for Mac OS X and *nix. The Document DB emulator allows a local instance of Cosmos DB to be run and is essential for developers. Allowing Mac OS X support will widen the adoption and also potentially allow it to be run in Linux Docker containers.
- Ability to partially update a document. Currently, even for larger documents, the whole document must be updated even for a single parameter. The ability to just update a single property will reduce the need for larger data blocks to be sent. This will be especially useful in mobile applications.
Latest news – October 2018
The team made announcements about the following features in October 2018. So far this year, we have not heard any updates. Whether the development has taken a backseat, hit some bugs or the features are soon to be released is currently unknown.
- Connection String. The team announced this feature should be available by the end of 2018, though this has yet to occur.
- OpenSource DocumentDB .NET SDK
- Allow multi Order By
- Positional array update via ‘$’ query support
- Add Group By support for Aggregate Functions
- Allow Paging (skip/take)
Though the team has announced work on all of these features, it is possible that some could be put aside as non-urgent or priority. The team is taking notice of requests and working hard to continue the expected quality level of the programme and its features. Certainly, all of these features would create real improvement in the workings of Azure Cosmos DB. Here at Ballard Chalmers, where we use Azure as a key technology, we are definitely hoping to see these features released sometime within 2019.