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.

Azure Synapse Link: Features related to Azure Cosmos DBanalytical store and Azure Synapse Analytics run-time support

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. Upgrading existing accounts from MongoDB Server Version 3.2 to 3.6

    Currently, the MongoDB 3.6 version is only available to newly created accounts.

    Could be usefull to add the ability to upgrade existing accounts to MongoDB Server Version 3.6.

    54 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Enable Cosmos Autoscale Throughput settings from the SDK's

    Currently, Cosmos Autoscale is only available through the portal. We would like programmatic access for this feature so the database will use autoscale when we programmatically create a container and perform the initial data load.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  3. Change stream starting point

    Please add these options to change streams startAtOperationTime / startAfter / resumeAfter

    The absence of the opportunity to set a change stream beginning point makes it absolutely useless :(

    https://docs.mongodb.com/manual/reference/method/db.collection.watch/#db.collection.watch

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  4. Fix maxWireVersion

    The official mongo-java-driver updated the way it checks the servers version in v3.10.0. Before v3.10.0 the server version was checked directly. Now the driver just checks for the maximum supported wire version (maxWireVersion).

    But cosmosDB returns the wrong maxWireVersion (return 2, correct would be 4). MongoAPI with an actual server version of 3.2 is now recognized as less than 3.0.

    The java driver now communicates with cosmosdb as if it was a very old server, leading to some strange behavior.
    E.g. when encountering the RUPs limit we previously got a MongoQueryExceptions. Now we just receive empty objects.

    See: https://github.com/mongodb/mongo-java-driver/blob/r3.10.0/driver-core/src/main/com/mongodb/internal/operation/ServerVersionHelper.java
    vs …

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

    Hello and thank you for your suggestion.

    This was fixed in late 2017 when we released 3.4 support. https://azure.microsoft.com/en-us/blog/azure-cosmosdb-extends-support-for-mongodb-aggregation-pipeline-unique-indexes-and-more/

    Customers still running on 3.2 can go to their Cosmos account and click on Preview Features to enable either 3.4 or 3.6 in their accounts.

    Please note that you should test your applications to ensure they function correctly for these changes.

    Thanks.

  5. Make COUNT() aware of indexes

    Queries with COUNT() or other aggregates are very expensive and all appear to be scan driven vs. index driven.

    I have 50k documents in collection, each has "Type" property with string value. The indexing policy is default.

    The following simple query consumes 615 RUs:
    SELECT VALUE COUNT(1) FROM x WHERE x.Type ='Content'

    The result is 9738 records.

    The query metrics are:
    RetrievedDocumentCount: 9738
    RetrievedDocumentSize: 69506571
    OutputDocumentCount: 1
    OutputDocumentSize: 53
    IndexHitDocumentCount: 0
    IndexHitRatio: 0

    So what we see is that database reads all "Contents" and than counts them. But it's enough to just count the index entries not to read all…

    279 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Alerting on Possible Logical Partition Limit reached

    Alerting the consumer before the one of the logical partition is about to reach its storage limits like when X % is covered etc instead of consumer finding this information in production and having to do work on major incident.

    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 →

    Customers can do this today in azure monitor using a combination of log analytics and alerts. Note, this solution will only show the top three largest logical partitions in your container but this should work for you.

    Create a new log analytics workspace in the azure portal.

    Then in the portal go to Monitor, create new diagnostic settings, select the Cosmos DB account to monitor, Add diagnostic settings, check partition key statistics, check send to log analytics, then select the log analytics workspace you created earlier.

    Next to set up the alert go back to Monitoring blade in portal, select Alerts, then select the Log Analytics Workspace you created as the resource then click +New Alert Rule.

    For the Condition select custom log search for Signal Name then enter the following query. (this query example shows if any of the 3 largest partitions are great than 10GB in size.

    AzureDiagnostics…

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

    As far as I know, the only way to set "Account level throughput" to "On" for a CosmosDB instance with Table API is to do it through the Azure Portal. It should be possible to automate this through an ARM template.

    https://stackoverflow.com/questions/56772236/is-it-possible-to-provision-throughput-on-database-level-through-code-or-arm-tem

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

    This is possible today.

    This arm template creates a Cosmos Table with initial throughput set.
    https://azure.microsoft.com/en-us/resources/templates/101-cosmosdb-table/

    This template updates the throughput for an existing table.
    https://azure.microsoft.com/en-us/resources/templates/101-cosmosdb-table-ru-update/

    We are currently working on allowing customers to redeploy the same template used to provision the account and table resource to update throughput as well. This should be available in October or early November.

    Thanks.

  8. Add support for ThenBy/ThenByDescending when ordering using LINQ

    I know multi-ordering has been added to the SQL API if constructing the SQL statements manually recently but really this change also needs to be reflected within DocumentDB LINQ querying too, currently attempting to use ThenBy or ThenByDescending throws an unsupported exception

    23 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 →
  9. Make Throttled Request metric (Cosmos DB) available for configuring a unified alert

    When looking to migrate our alerting (deployed in ARM templates) to the new alerting platform the throttled request metric is not available when configuring an alert for Cosmos DB resources, we currently have a classic alert using this metric. I have attempted to use an alert based on 'Total Requests' filtering for response code 429 but this doesn't seem to behave the same as the existing Classic alert (maybe due to the only available setting for 'timeAggregation' being 'Count'). Having logged a support request it was suggested I make a request here.

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  10. Reduce the RUs required to purchase 1-year or 3-year reserved capacity

    It seems that the minimum RUs required to purchase a reserved capacity plan is 20K. Please consider reducing it so that small shops can make a long-term commitment.

    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 →
  11. Cosmos DB BulkExecutor for .NET Core

    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.

    389 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  12. Allow coalescing in ORDER BY queries

    Currently, ORDER BY will filter results if a document does not contain a property matching the expression.

    For example these two queries will give the same results:
    > SELECT * FROM root ORDER BY r.age DESC
    and
    > SELECT * FROM root WHERE IS_DEFINED(c.age) ORDER BY r.age DESC

    It would be nice to be able to provide a default value for the ORDER BY expression so that this filtering does not occur, and instead a document not having the property will still be in the results and be sorted predictably.

    Some examples:
    > SELECT * FROM root ORDER BY c.age…

    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 →

    Hello. Thanks for your input. We in fact support this today but had not documented this.

    Queries with ORDER BY that are run against containers with the default indexing policy will not return documents where the sort property is undefined. This is the behavior you describe.

    If you would like to include documents where the sort property is undefined, you need to explicitly include this property in the indexing policy.

    We have recently documented this new feature here: https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-order-by.

    Thanks.

  13. Allow consumption of Change Feed as a in-memory push model in SDKv3

    Unlike the older SDK, the SDKv3 doesn't support the InMemory Lease Container yet. But this is very useful e.g. if you just want to use the ChangeFeed to keep your local caches up2date.

    This is also described here: https://github.com/Azure/azure-cosmos-dotnet-v3/issues/972

    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 →
  14. Increase storage limit per logical partition in unlimited containers

    I believe each logical partition is capped at 10GB regardless of whether it's contained in an unlimited container or not. Please give us the ability to scale up when needed so that we don't have to come up with yet another partitioning scheme. A logical partition should be able to hold much more than 10 gigs, in my opinion.

    18 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 →
  15. Implement ALLOW FILTERING, CREATE INDEX AND CREATE MATERIALIZED VIEW

    We're using INDEX and MATERIALIZED VIEW and ALLOW FILTERING command on Cassandra. Please implement them on Azure cosmos DB

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  16. Query data through the portal without showing keys

    We want our developers to see information in the cosmosdb when using data explorer in the portal. Unfortunately the roles to provied that option gives also read access to the keys. We don't want that our developers can see the keys.

    From what I can see, the Cosmos DB Account Reader only gives access to the “Read-Only Keys”. Without this access, even with all the other rights, the “Cosmos DB Account Reader” wouldn’t be able to see the information in the Data Explorer pane.

    I tested this by creating a custom RBAC role copy of the Cosmos DB Account Reader…

    3 votes
    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. ^ (StartsWith) operator doesn't work using $in operator

    In mongo you can use javascript patterns for regex queries using $in operator, sth like: find({categories: {$in: [/^shoes/,/^boots/]}}), but it seems that operator ^ isn't working in cosmsoDB

    126 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  18. 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.

    2 votes
    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 →

    We have not yet documented this but this capability is now available. Customers can now audit changes to throughput changes in Cosmos DB.

    Here are the steps…

    1. Create and deploy an Azure Policy with an audit action on the throughput resource with a scope of the database account.

    2. Validate the service principals who should have access to the Cosmos account have proper RBAC roles.

    WARNING: This next step will prevent anyone with keys from changing throughput or making any change to Cosmos resources. If your applications using our SDK’s update throughput or make any other change to your Cosmos resources this will break. Unfortunately there is no way to provide this functionality without doing this next step.

    3. Next update the Cosmos account and set disableKeyBasedMetadataWriteAccess property to true. Can do this via ARM template or Azure Management Library. AML samples for Cosmos DB are here, https://github.com/Azure-Samples/cosmos-management-net

  19. Please remove the 40MB limit, when migrate whole Cosmos DB's data.

    When I migrate whole Cosmos Mongo DB's data to external MongoDB, below error is occurred.

    [Error Mesaage]
    Query exceeded the maximum allowed memory usage of 40 MB. Please consider adding more filters to reduce the query response size.

    So, Could you remove the 40MB limit, when migrate whole Cosmos DB's data?

    25 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  20. Please add feature that can check the time when container created, when auto back up stored, when auto back up will be stored.

    Please add feature that can check the time when container created, when auto back up stored, when auto back up will be stored.

    1 vote
    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 →
← Previous 1 3 4 5 15 16
  • Don't see your idea?

Feedback and Knowledge Base