Azure Cosmos DB

Azure DocumentDB, ahem… I mean Azure Cosmos DB is the globally distributed, highly available, NoSQL, database-as-a-service offering from Microsoft. The service boasts lots of really great features including API support and compatibility for MongoDB, Cassandra, Gremlin, Azure Tables, and DocumentDB (SQL) APIs, as well as a long list of really great features.

There can be limited transparency into what features the different Microsoft product teams are working on at times. This is especially true for features that may still be under evaluation whether they’ll be released, or a feature that’s still confidential for strategically competitive reasons. Among all this varying secrecy, Microsoft does have a UserVoice site where customers and users of the products can suggest and vote for features that may eventually make it into the products.

Azure Cosmos DB is one such project that has one of these UserVoice sites (along with MANY other Azure products!) This article lists out the top feature suggestions that the Azure Cosmos DB team is publicly stating they are working on, and hopefully will be available soon.

Now let’s get to the list! Each item also shows the number of votes that feature request has received.


#13 – Integrate with Azure Active Directory (193 votes)

Feature Request: “Really need to be able to set resource level access control integrated with Azure Active Directory. The current built-in user / resource access control is a pain to use and we end up with just using the master key and giving everyone access to everything.

Azure SQL DB already has this, and is a pleasure to work with.

Perhaps you should take a leaf from your sister team on this –
https://docs.microsoft.com/en-us/azure/sql-database/sql-database-control-access-aad-authentication-get-started– March 13, 2017

Product Team Response: “Work on AAD Support for control plane has started. Will update here as this feature moves into generally availability. Thank you for your suggestion and votes.” – March 8, 2019

#12 – connection string (262 votes)

Feature Request: “Support for DotNet library constructor of DocumentClient taking “Connection string”, not the “Uri endpoint + string authKey”similar to other implementations of DocumentDB, or similar to Azure.Storage” – January 19, 2017

Product Team Response: “We are currently working on this. Release expected by end of 2018.” – October 30, 2018

#11 – Cosmos DB BulkExecutor for .NET Core (294 votes)

Feature Request: “I would like Azure Cosmos DB BulkExecutor library for .NET Core compatible version. Recent application often uses Microsoft.Azure.DocumentDB.Core package, so the need for the .NET Core version is high.” – June 14, 2018

Product Team Response: “Work on this feature has started. Will update here when this becomes generally available. Thank you for your suggestion and votes.” – March 8, 2019

#10 – Support ORDER BY on the ST_DISTANCE spatial function (293 votes)

Feature Request: “Ordering results by the ST_DISTANCE spatial function is currently not supported.” – December 8, 2015

Product Team Response: “Work on this feature has started. Will update here when this becomes generally available. Thank you for you suggestion and votes.” – March 8, 2019

#9 – OpenSource DocumentDB .NET SDK (306 votes)

Feature Request: “Unlike this threadhttps://feedback.azure.com/forums/263030-documentdb/suggestions/6334154-open-source-documentdb

We would like to have only the .NET SDK as opensource 
https://github.com/Azure/azure-documentdb-dotnet/issues/128

I have been programming against docdb with .Net for more than one year now and 80% of my problems come from the .NET SDK. We must be able to step into source code easily and propose pull requests to fix bugs. This will help Microsoft DocDB dev team to speed up corrections and features on this SDK.”
– April 11, 2017

Product Team Response: “This is currently on our road map and actively being worked on now in addition to other improvements. Stay tuned for an announcement on this coming soon. Thanks.” – October 17, 2018

#8 – Support Gremlin Bytecode to enable the fluent API of Gremlin.NET (527 votes)

Feature Request: “Azure Cosmos DB Graph API doesn’t support Gremlin Bytecode. Therefor it is not possible to use the fluent traversal API of Gremlin.NET.

Within the Azure Cosmos DB Graph .NET API (
https://docs.microsoft.com/en-us/azure/cosmos-db/graph-sdk-dotnet) it is recommended to use Gremlin.NET. So it would be really nice if all features of Gremlin.NET would be supported.

See also the idea of a “better type-safe APIs fro Gremlin” (
https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/19340761-better-type-safe-apis-for-gremlin) within the Graph API feedback.” – March 14, 2018

Product Team Response: “Work on Bytecode support has started. Will update here when this becomes generally available. Thank you for your suggestion and votes.” – March 8, 2019

#7 – Allow multi Order By (591 votes)

Feature Request: “From what I see it is impossible to run a query with more than one column in the Order By.” – October 31, 2016

Product Team Response: “This work is still currently in progress and actively working on it. Stay tuned for this feature in an upcoming release. Thank you for your patience.” – October 17, 2018

#6 – Positional array update via ‘$’ query support (651 votes)

Feature Request: “I have posted a question in stackoverflow (https://stackoverflow.com/questions/45057385/azure-cosmosdb-mongodb-update-fields-of-an-specific-element-of-an-object-in-an) related to this issue.” – July 14, 2017

Product Team Response: We are actively working on this feature. We will update this item when this feature ships so you will receive an update. Thank you for your feedback.” – October 17, 2018

#5 – Autoscale Throughput (RU/s) (1,144 votes)

Feature Request: “Depending on the average amount of incomming requests/ required RU’s, (or other parameters,) 
I would like to autoscale the througput(RU/s) of a collection.”
– October 11, 2016

Product Team Response: “Thank you for all the feedback for the preview of RU/m. We are currently reviewing feedback to drive further improvements. Please stay tuned.” – September 19, 2017

#4 – Add DocumentDB Emulator support for Mac OS X and *nix (1,212 votes)

Feature Request: “The DocumentDB Emulator currently only supports Windows 10. It would be great if support for Mac OS X could be added or documentation to run it on other platforms.” – March 6, 2017

Product Team Response: “Work on this feature has started. Will update here when this feature moves to general availability. Thank you for your suggestion and votes.” – March 7, 2019

#3 – Add Group By support for Aggregate Functions (2,363 votes)

Feature Request: “We’re really happy about the new aggregate functions that recently were announced. But without Group By support they fall short and will leave many disappointed. Please add Group By support as well.” – March 9, 2017

Product Team Response: “This feature is currently in active development. We will update this item to complete once it has shipped so those voting/commenting will be notified.” – October 17, 2018

#2 – Be able to do partial updates on a document (3,302 votes)

Feature Request: “Allow to push only values for some fields of a document and not need to read the whole document and save it to documentDB.” – November 10, 2014

Product Team Response: “Work on this feature has started. Will update here when this becomes generally available. Thank you for your suggestion and votes.” – March 8, 2019

#1 – Allow Paging (skip/take) (3,634 votes)

Feature Request: “Allowing paging would be huge. Btw, Thank You for rolling out this feature at all! It looks wonderful! Can’t wait to try it! However, I won’t be able to use it for actual work projects until it supports paging and sorting.” – August 26, 2014

Product Team Response: “This feature is currently in active development. We will update this item to complete once it has shipped so those voting/commenting should get notified. Thank you everyone for your patience.” – October 17, 2018



Conclusion

The title of this article mentions the features in this list are “Coming Soon”. This is really just a guess, since the Azure Cosmos DB team has set the status of these items as “STARTED”. Since they have started working on these features, you could assume they would be coming soon. However, some of these are more difficult to implement than others; as its common in any software product. So, consequentially, there’s really no way to know when they might be released for us all to use.

If you notice there are a number of features that the product team replied with a “STARTED” status a year or more ago. Hopefully this list of features are released to General Availability sometime soon. Also, if / when these features do get released, we’ll have to wait to see how closely they resemble the original feature requested.

You can view, search through, and vote on the various feature requests for Azure Cosmos DB at the following link. You can also submit your own feature requests you might have for the product.

https://feedback.azure.com/forums/263030-azure-cosmos-db

All the requested features for Azure Cosmos DB listed in this article had the listed number of votes when the post was written, and the status of these items were set to “STARTED”. It’s possible more people will vote for them, or possibly the product team may change the status to something else. I can’t predict if “STARTED” will always become “RELEASED” at some point, nor can I predict if they wont completely drop the feature. However, these are some great ideas and I’m hoping they make it into the product!


Pin It on Pinterest