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.

How can we improve Azure Cosmos DB?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Implement LIKE keyword

    Add support for the LIKE '%%' SQL keyword and associated functionality.

    726 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    31 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  2. [CosmosDB] Be able to manage Backup and Restore with Portal and APIs

    Please provide the ability to manage backup and restore on our own.

    Restore through support is not clear and inconvenient.

    It turned out restore is only available through paid support plan.

    This document https://docs.microsoft.com/en-us/azure/cosmos-db/online-backup-and-restore#restoring-a-database-from-an-online-backup does not say it in any word.

    The situation made our customer extremely unhappy.

    356 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 →
  3. Support ORDER BY on the ST_DISTANCE spatial function

    Ordering results by the ST_DISTANCE spatial function is currently not supported.

    352 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  4. Execute a procedure when TTL expires

    I would like to execute a procedure when TTL expires. For example, when TTL expires I would like to also delete some related records from Azure table storage.

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

    We plan to introduce support for tracking deletes in the change feed. Using this capability, you can integrate with Azure Functions or another event processing system to perform operations like execute procedure or call other services programmatically.

  5. Gremlin queries from stored procedures

    It would be nice to have the ability to execute Gremlin queries against the Graph API from a stored procedure. Ideally, this would also enable transactions.

    120 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add DateTimeOffset support

    The DocumentDb engine should be able to recognize and properly order DateTimeOffset serialized fields.

    113 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Support case insensitive indexing

    Order by returns lowercase characters before uppercase characters.

    x
    y
    z
    A
    B
    C

    I know you can work around this by storing an all lower or all upper case version of the string you want to query by on your object but over time and scale that does add to your RU usage

    95 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  8. Pin the Graphs from the Metrics Page to Azure Portal Dashboards

    I would love to be able to pin the graphs on the Metrics tab of the Azure Portal blade for Cosmos DB to my Azure Dashboard. Many other services allow this and it's great to get an overview of health, status and usage. Also great for Ops dashboards, sharing, etc.

    Right now the work around is to manually point the diagnostic logs to an OMS workspace and recreate the query in Log Analytics, and then pin it. It kinda sucks and your graphs are way better.

    70 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  9. Order By Null Handling

    Currently if you do an order by on a nullable value, the documents are not returned at all. Please add functionality similiar to Application Insights where you can specify if the documents with the null value appear at the beginning or end of the sort.

    65 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  10. Compress query results

    Compress query results if requested by the client. This could significantly improve network throughput for large queries.

    52 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 →
  11. Support for document validation, using JSON Schema

    Similar to MongoDB v3.6 https://docs.mongodb.com/manual/reference/operator/query/jsonSchema/ Would be useful for both MongoDB API and DocumentDB API

    50 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 →
  12. Encryption via Key Vault

    Provide ability to encrypt data at rest using provided keys using Key Vault. This is a frequent requirement for storing anything related to the business, especially finances.

    Keys will be managed by customer in that case.

    43 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. Improve scaling down experience: remove redundant physical partitions

    During initial import we increased RU to 200K. Cosmos Db SQL API created 20 physical partitions with 10K throughput each.
    During regular day we just need 30K Ru. That would mean each physical partition would have only 1,5K RU allocated and a lot of redundant partitions with possible expensive cross-partition calls (total data size is less than 30GB)

    Is there way to decrease amount of physical partitions to reasonable value?
    In a nutshell it is not fair pricing, when you are limited to 1,5K RU and a lot of cross-partition calls you have to pay extra

    43 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  14. Support $geonear query in Azure Cosmos DB Mongo API

    I want to transition my application to use Azure Cosmos DB. It is currently using MongoDB with the latest Mongo C# Driver.

    Most of the functionality is working with just updating the connection string to point to the Azure Cosmos DB.

    However some of the major functionality in my application makes use of MongoDB geonear functionality with code as below:

    public IEnumerable<Tuple<Location, double>> GeoNear(StagedLocation stagedLocation, int matchRadius)
    {
    var geoPoint = new BsonDocument
    {
    {"type","Point"},
    {"coordinates",new BsonArray(new []{ stagedLocation.Address.Longitude.Value, stagedLocation.Address.Latitude.Value })}
    };

    var geoNearOptions = new BsonDocument
    {
    {"near", geoPoint},
    {"spherical", true },
    {"limit", 20},
    {"distanceField", "Distance"},
    {"maxDistance", Convert.ToDouble(matchRadius)},
    };

    42 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 →
  15. CosmosDB, Mongo API, Delete Many with Partition Key configured

    We have an IoT based solution and archive old data to blob storage. Our data is moved to archive using the shard key. Removing the data once archived is a pain and slow as each individual document has to be deleted rather than using DeleteMany(x=>x.shardId == id).

    More info found at:
    https://stackoverflow.com/questions/51301711/cosmosdb-mongo-api-delete-many-with-partition-key-configured

    40 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  16. CosmosDB Cassandra API should support lightweight transactions in CQL

    Currently, lightweight transactions are not supported by the CosmosDB Cassandra API, but should be.

    32 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 →
  17. Please don't surprise your customers with Azure Cosmos DB costs...

    1. RU/s are confusing, new and different. Please assume that your current and potential customers are not going to understand how they work for a while.
    2. Notify your customers via portal alerts when their costs are on track to increase by more than 50% on the next invoice.
    3. Every service needs a trial mode. There needs to be a very cheap and limited way that current and potential customers can test drive Azure services without being surprised by thousands of dollars in charges.
    4. Don’t default to 800 RU/s when creating an Azure Cosmos DB Table with the…

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

    Hi Robin, thank you for your feedback. Will take one at a time.

    1. We realize RU/s (provisioned throughput) is a different model than people may be used to. It is however, not different than say provisioning a VM where you are paying for compute, IO and memory. Customers here too do not want to over-provision as there are unused resources. The same goes for Cosmos DB. Where we need to do better, is in helping people measure their usage and tune their RU/s. This work is planned and ongoing.

    2. We are currently planning on enhancements to Azure Advisor in the portal around this.

    3. Cosmos DB has three different means for Trial. There is the Azure Trial itself. There is also our Emulator (https://docs.microsoft.com/en-us/azure/cosmos-db/local-emulator). Finally, there is TryCosmosDB, (https://azure.microsoft.com/en-us/try/cosmosdb/)

    4. I will review this with our SDK team. Agree we should use minimums as…

  18. CosmosDB Cassandra API should support materialized views

    Hi,

    we are currently using Materialized Views with Cassandra, and we would like this feature to be available with Cosmos DB.

    Thanks

    21 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 →
  19. partialFilterExpression should be supported

    According to MongoDB documentation, partialFilterExpression is supported since version 3.2: https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/

    When querying Azure Cosmos DB server version I receive "3.2.0" so I am expecting partialFilterExpression to be supported.

    Unfortunately I receive: 'partialFilterExpression' is not supported when trying to create an index using partialFilterExpression.

    I have several remarks here:

    1) Can you provide an exhaustive documentation on features that are implemented and those that are not?
    2) Can you please advertise that you do not support MongoDB API entirely?
    3) Is there a way to track current backlog and status of Mongo DB API implementation at Microsoft? Transparency is the…

    13 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. DISTINCT should use index if possible

    Currently one can query distinct values from documents using the DISTINCT keyword like in relational SQL.

    Example:
    SELECT distinct c.myField FROM c

    Related feature request: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/6719531-provide-support-for-distinct

    Unfortunately current DISTINCT is rather unusable as it seems to do a full scan even if there is an index present on the field. This feature does save some bandwidth when you really-really-really need this feature, but the RU consumption part is borderline-unacceptable for production use.

    Please consider improving the implementation to avoid full scan and use index, if possible.

    11 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 →
← Previous 1
  • Don't see your idea?

Azure Cosmos DB

Feedback and Knowledge Base