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. Data masking feature in Azure Cosmosdb

    Request you to please add data masking feature to Azure CosmodDB to protect sensitive data like always encryption feature in SQL Server which allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to the Database Engine ( SQL Database or SQL Server). As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data (but should have no access)

    Ref : https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017

    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 →

    Hi Siva, thank you for your suggestion.

    There are a couple of aspects to your ask which I will address separately.

    We are planning on providing some additional capabilities to RBAC support in Cosmos DB that will separate Database Operators who can provision resources and rotate keys, versus an application which can access data but cannot provision resources or rotate keys. This is partially what you are asking for so want to bring this up.

    With regards to data masking and encryption…

    Today we support encryption of all data both in transit and at rest. This encryption is Microsoft-managed . At some point we will enable user managed keys but this is currently not on our roadmap.

    However users are fully able to implement client-side encryption and encrypt the data before it is sent by the client. This is fully possible today.

    The ability to offer this as a feature…

  2. 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 →
  3. Cosmos DB Linux ODBC Driver

    Would be great to have the ODBC driver for linux variants. We were looking to port a MongoDB application and require some sort of aggregation features on some linux machines.

    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 →
  4. 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 →
  5. 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 →
  6. 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 →
  7. 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 →
  8. 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 →
  9. 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.

    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 →
  10. 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 →
  11. 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 →
  12. 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 →
  13. 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)

    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 →
  14. Filter by NULL

    Be able to return values from Table Storage where a records have a NULL, in a column.

    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. Support View objects similar to MongoDB

    Create the capability to create views similar to MongoDB database. Views are very useful when is required to do aggregation operations, lookups in different tables as well.

    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 →
  16. Provide load balancing option across regions at the server level

    I have a read replica set up in a different region/same country. Since I am paying full price for that region I want to be able to use it to carry some of the query load. Using the node.js SDK, although preferred location and endpoint discovery is set as documented all queries get sent only to the primary region. Regardless, it should not be left up to client side applications to manage load balancing - that might be ok if you only have 1 application. Also, we might want to use applications that (shock horror) are not coded ourselves- Power…

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

    @Ian.

    With regards to secondary regions having different RU/s we do not have this on our road map at this time. There is another User Voice items which have this suggestion, Please feel free to vote that item up.

    @Nick.

    For scenario 1. Same answer.

    For scenario 2. Typically, just putting the front-end closer to users is not something we see help with application latency where they are backed by a database as the app still needs to call the database which is still separated by some distance.

    With regards to knowing which region to point to I would suggest conducting tests to see which regions provide the best latency and include this as the preferred regions for each regional deployment.

    Thank you both for your suggestion and comments.

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

    Hello Robin. Table support for Change Feed is not on our current roadmap but we do anticipate providing this capability in the future.

    When this moves into our current development cycle I will update this here so you are notified.

    Thank you for your suggestion.

  18. Add geospatial aggregate functions like ConvexHullAggregate

    Looking for a way to compute the bounding box of some features based on a query. For example SQL has https://docs.microsoft.com/en-us/sql/t-sql/spatial-geography/convexhullaggregate-geography-data-type?view=sql-server-2017

    Of course I can download all the documents and compute this, but I think it would be more efficient to let Cosmos DB perform the calculation on the server.

    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 →
  19. Table Strorage JAVA SDK Performance Tuning

    Table Storage JAVA SDK does not provide concurrency option for any of its operation. We are getting TPS of around 500 for table insert queries but it is also because we have designed our data model such that.
    Async functionality is available for Table Storage C sharp SDK but not for JAVA SDK.
    It would be good if there is concurrency option for Table Storage Java SDK.

    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 →
  20. Graph Gremlin query supports GeoJSON

    Does Cosmos DB supports GeoJSON for Graph Gremlin query?

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

Azure Cosmos DB

Feedback and Knowledge Base