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. Please add feature that can monitor and set alert about logical partition level data usage

    A single logical partition has an upper limit of 10 GB of storage.
    So, I want to monitor the data usage of each logical partition and set alert about that.
    So, Please add feature that can monitor and set alert about logical partition level data usage.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  2. Partition keys should propagate to newly created vertices

    Assume a pre-existing graph whose vertices are on different partitions (and thus have different partition keys).

    Now, consider adding new vertices through new edges in bulk through the Gremlin API, e.g. like this:

    g.V().addE('l').to(__.addV('newVertex').property('PartitionKey', 'p')

    This would work just fine but it would possibly place the source and sink vertices into different partitions. If we would want them to remain on the same partition, we're currently lost with CosmosDB.

    The Tinkerpop API allows the property-step to specify a traversal, so the following query is actually possible in the Tinkerpop reference implementation and would solve the issue:

    g.V().as('source').addE('l').to(__.addV('newVertex').property('PartitionKey', __.select('source').id())

    This would…

    2 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 →
  3. Ability to directly version control Cosmos DB Notebooks with git

    Would be great to have the ability to version control my built-in notebooks with a git repo. A sync to a notebook in a repo, similar to the way it is done in Databricks, would be perfect.

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Built-in Notebooks  ·  Flag idea as inappropriate…  ·  Admin →
  4. Data Explorer: Allow lazy loading collections to avoid perf overhead when tehre are many collections

    Currently all collections are shown in the Data Explorer. This takes quite some time when an account has many collections. An option to lazy load collections would be nice.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support Individual Item TTL from Table API

    Please add support for setting TTL on an individual item while using the Table API

    1 vote
    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. Support ST_Buffer Spatial Function

    This is a great function I use frequently in SQL Server. It lets you to generate an area around a point. It makes Radius Searches much easier and flexible. I like to see this in Cosmos DB to make radius searches better.

    1 vote
    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 →
  7. Align the handling of Unique Sparse Indexes with MongoDB

    Currently, the Azure Cosmos DB Mongo API does not support sparse unique keys (https://docs.microsoft.com/en-us/azure/cosmos-db/unique-keys#define-a-unique-key). This is at odds with the current implementation of MongoDB which does support Sparse indexes with a unique constraint (https://docs.mongodb.com/manual/core/index-sparse/).

    Meteor, a popular framework using MongoDB, use sparse indexes with unique keys in its fundamental user management (https://github.com/meteor/meteor/blob/c5b51b0fc2a8cef498b9390ebcb4925e02de83e8/packages/accounts-base/accounts_server.js#L1562).

    The current implementation of MongoDB allows you to create documents (such as a user document) without a field that has a unique sparse index (such as username). This is not possible with the Azure Cosmos DB Mongo API, forcing you to populate…

    2 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 →
  8. Left and Substring functions should return null when null.

    The left and substring functions should return null when the value is null. Currently they return "non defined", it means the field is not returned.

    This causes issues with ADF structure autodetect.

    1 vote
    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 →
  9. Please add feature that trigger Azure function, when when data is inserted only

    At now, there is feature that trigger Azure function, when when data is inserted or modified.
    Please add feature that trigger Azure function, when when data is inserted only.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →
  10. Set Account Level throughput on Cosmos DB Table API with ARM template

    Make it possible to set "Account level throughput" on a Table API account through ARM template or Powershell.

    According to the official Twitter handle of Azure Cosmos DB, it is only possible to set the "Account level throughput" on a Table API database account through the Azure Portal. You cannot do this with an ARM template.
    https://twitter.com/AzureCosmosDB/status/1175071433229312001

    45 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 →
  11. Give developers the ability to access the meta data (etag, timestamp, id) when doing queries in the new sdk

    In the v2 sdk I could derive my data from Resource and was all set, with Etag, timestamp, partitionkey and so on visible.

    I could to a normal linq query, like .Where(i=>i._ts ...), create a documentquery from it and get a result with all those properties in.

    Please enable something comparable in the v3 sdk.

    1 vote
    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 →
  12. cosmosdb graph make input query multiline

    Please replace the single line textbox of the cosmosdb graph data explorer query filter to a multiline textbox! As of today it is impossible to use even with the simplest gremlin queries.

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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.

  14. data explorer should not require IP exceptions

    data explorer should not require IP exceptions

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  15. Allow creating Index with weights

    It would be nice to have index capability with weights in Azure Cosmos Db through Mongo driver. Currently it says this feature isnt available. Something like how we do in MongoDB

    db.blog.createIndex( { name: "text", desc: "text", headername: "text" }, { weights: { content: 10, keywords: 5 }, name: "TextIndex" } )

    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 →
  16. Userinfo for audit RU changes

    There is not currently audit RU changes to determine the userinfo. If an unauthorized user makes a change in CosmosDB RUs, it is impossible to make the audit.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  17. 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 →
  18. Expose index transformation progress in the portal

    When going to the Scale and Settings tab I can see in the browser dev tools that the header x-ms-documentdb-collection-index-transformation-progress is returned to the client however this information is not shown anywhere in the UI.

    It would be useful if this information was displayed in the portal (possibly only if less than 100/ a transformation is currently in progress)

    7 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  19. DATA QUALITY: Please support graph transactions.

    Today, if a traversal fails at step n of m, figuring out what state the graph is in is quite a chore. As a result, all data modification traversals have to be written to support retries. Unfortunately, if the retrying component fails, the network fails, or something else fails, which prevents retry, the graph is left in an unknown state.

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →

    Hello and thank you for your suggestion.

    While Cosmos DB provides support for transactions within a partition, we do not have support multi-step, cross-partition or distributed transactions.

    We recommend to customers requiring transactions across multi-step operations to coordinate these using the consistency model and optimistic concurrency control.

    Thank you for your suggestion.

  20. 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 →
← Previous 1 3 4 5 11 12
  • Don't see your idea?

Feedback and Knowledge Base