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. Unique index in nested documents or arrays

    Right now I'm not able to create unique indexes in nested documents.
    Using MongoDB Driver.

    Error:
    {"ok": 0.0, "errmsg": "Unique index does not currently support nested documents or arrays.", "code": 115, "codeName": "CommandNotSupported"};

    57 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Calculator for Mongo, Graph/Gremlin,Cassandra and Table

    Need calculator for Mongo, Graph/Gremlin,Cassandra and Table. Currently users face difficulties to estimate costs. They need to input data and query by themselves otherwise consumed RU cannot be known.

    Please consider implementing calculator for Mongo, Graph/Gremlin,Cassandra and Table.

    35 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 →
  3. Support multiple labels on vertices and allow searching by one of those labels

    In order to represent inheritance in the graph DB, it is useful to have multiple labels on vertices and to be able to search by one of them, e.g.:

    V1 labels = "human | man"
    V2 labels = "human | woman"

    a query for all "human" returns both V1 and V2,
    whereas a query for all "man" returns V1 only.

    Currently, this is possible in Neo4j:
    https://tinkerpop.apache.org/docs/current/reference/#multilabel

    17 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 →
  4. Allow the configuration of Cosmos autopilot through az cli

    I'd like the ability to use automation to configure Cosmos with autopilot using automation. In my case ideally az cli and ultimately Terraform.

    There is no guidance here other than point and click through the UI https://docs.microsoft.com/en-us/azure/cosmos-db/provision-throughput-autopilot

    53 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 →
  5. Make autoscale work like other services' autoscale and pricing

    Autopilot in general cost 50% more per 100 RU than the dedicated throughput and is cost effective if there is significant variation from peek load usage. This is confusing as customer that auto pilot could be costing more in some sceanrio like if you only lower loads on weekends etc. And morever this is different from all the other services available in Azure where the Auto Scale Up/down does not have a different pricing then the regular mode. this cost should not vary with provisioned throughput ...

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  6. Ability to create dedicated containers with 100 RU/s

    I need to create 30 containers, but it becomes too expensive when I need to allocate 400 RU/s per container at minimum. If I use a shared database, then I cannot individually convert containers to dedicated containers in the future as my budget becomes better. I'd really like to see the ability to create 100 RU/s dedicated containers so that I don't have to deal with messy migration.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  7. Enable the Cosmos free-tier to be set via az CLI

    Add a support for the free-tier of Cosmos DB to the Azure command-line-interface.

    Currently its not possible to create a new Cosmos account with activated free-tier via the az CLI.

    10 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 →
  8. Support for a random item return in Cosmos DB

    It would be nice to have the ability to get a random set of items from a container in the same way you can with SQL. It would also be nice to have a seed ID for the purpose of being able to pull the same random set again in the future.

    Simple example of current functionality:

    SELECT TOP 10 *
    FROM [table]
    ORDER BY newid()

    10 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 →
  9. Implement all of Gremlin's steps

    REALLY missing things like hasNext, tryNext, from, and to. It is really difficult getting around using these steps. Its hard to get around the fact that AWS already has a robust Gremlin offering that includes a more fully featured Gremlin implementation.

    1 vote
    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 →
  10. cosmos db metric not raising/recording http 401/403 response

    cosmos db metric not raising/recording http 401/403 response.
    It will be helpful if this is included as part of metrics

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →
  11. CosmosDB CQL DELETE should support range filtering on the partition key

    Cassandra supports DELETE operations for ranges of keys (and not just by specifying the exact row key).
    This operation is not supported on CosmosDB, resulting in a CQL error:
    'Only EQ relation is supported on the partition key for now for DELETE statements', code: 8704

    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 →
  12. Bulk Import Needs a Python Library for the SQL API

    Just like for .Net and Java, Cosmos needs a bulk import library for Python

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

    51 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 →
  14. Use Order By with Group By

    In the documentation for group by (https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-group-by) you state:

    You currently cannot use GROUP BY with an ORDER BY clause but this is planned.

    Adding here so we can hopefully get some feedback on its progress and to communicate its importance to the community.

    In all my use cases for using group by, I am only interested in returning a subset of the results which without order by I cannot. I must return all results and then order & filter them in the client which is poor from a performance and cost perspective or completely unfeasible depending on…

    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 →
  15. 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 →

    This was mistakenly marked as completed but we’re not quite complete with all three of these options.

    Currently only resumeAfter is complete. Sample is available here, https://github.com/Azure-Samples/azure-cosmos-db-mongodb-java-changestream/tree/master

    startAtOperationTime is nearly complete. Samples for that are currently being developed.

    startAfter is planned but not yet started. ETA some time later this year.

    Marking item as Planned until all three are complete.

    Thanks.

  16. 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

    199 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  17. Ability to provide more than one PartitionKey per collection

    There are times when documents need to be queried by a secondary key field and the PartitionKey is not known.

    In order to avoid cross partition queries, the document needs to be stored twice - once with the primary PartitionKey and again with the secondary key field set as the PartitionKey.

    It'd be great if a secondary PartitionKey could be specified to allow for efficient querying without requiring saving the document multiple times.

    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. Support the same PartitionKey/RowKey sorting as Azure Table Storage

    The lack of this feature in Table API prevents a lot of apps to migrate from Azure Table storage to Cosmos DB because this is the only sorting functionality in tables and apps are actively using this feature.

    15 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 →

    We have reviewed this request.

    While we are API compatible with Table storage we do not precisely match every behavior. Sorting is one of those. We do not have any current plans to support this but will put on our backlog.

    For a complete listing of where our implementation diverges from Table storage please see this article below.

    https://docs.microsoft.com/en-us/azure/cosmos-db/faq#where-is-table-api-not-identical-with-azure-table-storage-behavior

    Thank you.

  19. Enable programmatic Jupyter notebook access

    I see that it's not possible to enable Jupyter Notebook support using the CLI, SDK, REST API, or an ARM template. It would be great to be able to enable Jupyter notebooks from code and even add a notebook.

    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 →
  20. Azure portal Data Explorer works poorly with databases with both docdb and gremlin collections.

    We use a mix of gremlin and docdb collections in a gremlin api database (one per tenant). We initially started with 2 databases per tenant, one for gremlin and one for docdb, but this was just to much too manage, too expensive, etc. The only problem with this is the Data Explorer does not support it. It does not show documents for docdb collections so no way to add, delete, edit documents from Data Explorer. Instead we are using 3rd party tool CosmosDbExplorer that overcome this limitation, but it feels unnecessary complicated.

    1 vote
    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