Azure Cosmos DB

Have feedback for Azure Cosmos DB product? Submit your idea here or upvote other ideas. All feedback is monitored and reviewed by the Azure Cosmos DB team. 

This site is for feature suggestions only. For technical questions or issues, please submit them to StackOverflow,where we and the community can better help you.

Please use the following categories when submitting your idea.

SQL API: Query language features, syntax using SQL API, indexing, any other core features in Azure Cosmos DB.

Gremlin API: Graph features and capabilities using Gremlin API.

Cassandra API: Features and capabilities using Cassandra API.

MongoDB API: Features and capabilities using MongoDB API.

Table API: Features and capabilities using Table API.

Etcd API: Features related to using etcd as a configuration store for Kubernetes.

Built-in Apache Spark: Features related to built-in Apache Spark in Azure Cosmos DB.

Built-in Notebooks: Features related to built-in Notebooks in Azure Cosmos DB.

SDK: Features related to Azure Cosmos DB SDKs for SQL API.

Change Feed: Features related to Change Feed.

Management: All management features, backup/restore,monitoring, ARM, PowerShell and CLI.

Portal: All features for Azure Portal and Cosmos DB Explorer.

Emulator: Features related to the Azure Cosmos Emulator.

Other: Features not related to any other category.

Security:
Authentication, authorization,permissions and encryption features.

Monitoring:
Metrics, monitoring, alerts,and diagnostics features.

Server-side: Stored procedures, Triggers,and User-Defined Functions.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Allow shortestPath and sum steps

    I want to make traversals finding the shortest path between one or more vertices. I need to be able to use shortestPath step or at least have sum step to sum up the edge weights to accomplish this.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Support Table API queries from PowerBI

    Currently, I can't query Table Storage in Azure Cosmos DB from Power BI. I have a lot of useful data stored there but I can't report on it.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  3. Add direct mode support to NodeJS SDK

    The NODE JS SDK is horribly slow. Add direct mode support to reduce latency.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  4. Add a json data type

    I have json data i dont need to query but would like to be able to persist to a vertex. In my particular case the json is data for a client side quilljs editor. I dont need to be able to query or manipualte it on the server only retrieve it.

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  5. table api sort - Javascript Storage Library

    Table API Sorting: Return query results using Table API in lexicographical order for RowKey as per current functionality in Azure Table Storage using specifically the azure-storage NodeJS/Javascript library (not .NET)

    6 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  6. AzureML Reader Module

    Create a Reader module in AzureML that can use DocumentDB as a data source.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  7. 4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  8. Need way to create collections via the Mongo DB API with a specified RU throughput

    Developers using the MongoDB API should be able to programmatically create collections of a given RU throughput, similar to the capability that the DocumentDB API already provides.

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  9. Extend Bulk Executor to cover Cosmos Db Table Api

    Bulk Executor api is very powerful but does only support Document db. We would ideally want to use Table api because Document db api does not support OData. But we also work with a high throughput in a big data pipeline where we use Bulk Ingestor api to do the data ingestion which does not work in Table api. It would be nice to have same bulk ingestion functionality for Table api

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  10. Support multi-properties in GraphBulkExecutor.

    Gremlin API, supports:
    Multiple properties (multi-properties): a vertex(edge) property key can have multiple values. For example, a vertex can have multiple "name" properties.

    Properties on properties (meta-properties): a vertex(edge) property can have properties (i.e. a vertex property can have key/value data associated with it).

    So, now it's impossible to upload data with such properties with GraphBulkExecutor.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  11. User Defined Document Functions (UDDF)

    Let's say you have some denormalized data:
    { id: '1, title: 'A story, userID: '1000' }
    { id: '2, title:' 'An article', userID: '1001' }
    where the userID field is denormalized into "user" documents.

    Since there are no cross-document joins, you have to loop result sets either in a DocumentDB Procedure or in the client to populate the 'user' data in the above example.

    There are several scenarios where looping result sets in a Procedure is the only viable solution (as opposed to looping on the client). This could be either performance and RU concerns, or simply network latenzy problems.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  12. DATA QUALITY: Please allow for properties to be set using a subquery

    The use case here is incrementing the reply count property on a post vertex. To increment, we have to fetch the post vertex, increment the reply count property within our API, then update the graph with the new property value. Unfortunately, if multiple users reply simultaneously using different instances of our API, the reply count value is set incorrectly. Sending a query to the database and letting the server make the updates by calculating the value would address the issue.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  13. DocumentDB Data Migration Tools needs to handle larger number of operations per batch

    The DocumentDB Data Migration Tool should be able to handle any large amount of operations required in migrating data.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  14. implement Table API for premium tier Azure Blob Storage

    The Table API for Azure Blob Storage works well in scenarios which contain a large number of small databases.

    The premium pricing tier for Azure Blob block storage offers an upgrade in speed for those who want better performance than standard tier and are willing to pay. The price for premium blob storage is about twice that of standard, but still very inexpensive for small data sets.

    I'm aware of Cosmos DB and that Cosmos DB is currently the upgrade path for those who want better performance than Table API with blob storage. I'm also aware of the $20/month pricing…

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow multiple PartitionKey objects in QueryRequestOptions or fix LinqQueryable PartitionKey

    QueryRequestOptions for SDK v3 does not seem to allow multiple PartitionKeys. This would be fine, except when using GetItemLinqQueryable and adding the PartitionKey to the Where clause, it does not actual use partitioning lookup. We know this because the exact same query in storage explorer is quick (couple seconds). When used with linq and no PartitionKey in QueryRequestOptions, it takes minutes to come back. If I add a PartitionKey to QueryRequestOptions, it is quick.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →

    Hi John. Thanks for your suggestion. At this time we do not support putting multiple partition key values into the Query Request Options however you should be able to run this cross partition query by not setting that value and setting the Cross Partition option with just the partition key values in your where clause. You may also want to look at setting the degree of parallelism to tell the SDK to query each of the partitions simultaneously. Generally this should not take minutes to query.

    If you have additional questions or would like more help with this please feel free to contact us at askcosmosdb@microsoft.com and we can better assist you.

    Thanks.

  16. Add Change Feed support to Table API

    It looks like change feed cannot be queried when using the Table API. That would be very useful to enable new data-export scenarios without having to update legacy apps that rely on writing to Storage Table.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Support LINQ Intersect

    I need the ability to see if a document property (which is a list) contains any list element in the query. Without this functionality, I find CosmosDB to be very limited.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  18. delete All data in a container

    To be able to delete, all the data in a container through azure UI.
    -> Keep all the settings, just drop all the data.
    this is useful during development when we have to delete and recreate a container and then recreate all SP, UDF, etc manually, and recreate all the indexes. It saves a lot of development time and reduces errors as cosmos is a case sensitive database.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →

    Thank you for your suggestion. At this time this is not on our road map.

    Currently customers tend to include the definition of their databases, containers, stored procedures and UDF’s either within their main applications themselves (CreateIfNotExists) or as standalone applications. Then include in their deployment pipelines using custom tasks so they can accurately recreate their environments, rather than creating resources by hand in the portal or elsewhere. This also allows them to be managed as artifacts in their source code repositories so they can be accurately recreated.

    We are currently investigating building support for deploying stored procedures and UDF’s via ARM templates which may work for you to quickly and easily re-provision your environments. But we have not concluded our initial look on this at this so do not have an ETA for that at this time.

    Thank you.

  19. Take collection / container offline

    It would be useful to be able to take a collection / container 'offline'. For example, if we wish to delete a large collection, our policy is to make it inaccessible for 6 months prior to deletion.

    Whilst we can do this at the client level, it would bring greater assurance a given collection is unused at the point of deletion if it had been offline for a few months beforehand.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →

    Hello Kris and thank you for your suggestion. This is not on our road map at this time.

    There are some alternatives you could explore.

    You could file a support ticket and ask the container be restored from the latest backup. This is done into a new Cosmos account which would have it’s own keys, essentially making this unavailable to users.

    You could also use the Cosmos Data Migration Tool to export the container into json files in blob storage.

    Both of these would fit your retention needs as well as make the data essentially offline for access. If this is a rather large set of data and there is a very low or zero chance of it being brought online again, blob storage may make more sense to use as the storage costs are lower.

    Will mark this as unplanned as we may offer this ability in the future…

  20. Cosmos support of Mongo API

    Currently, in Azure, we have Logic Apps, and in Cosmos, there are stored procedures, and many other features to which I am unaware. If you are using an SQL API, then you can utilize the power of Logic Apps and Stored Procedures, but if you using the Mongo API, then all of these features are lost, and your only choice is to use lambdas.

    Support of the Mongo API would be fantastic. Think of the power of being to Mongo, but so much more. For example, Mongo does not support Stored Procedures. But imagine if I used Cosmos, and I…

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Azure Cosmos DB

Categories

Feedback and Knowledge Base