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. Support cross-document joins

    I have a many-to-many scenario that requires something like document-to-document joins.

    In my app, users can "like" posts. That's three "tables" or entity sets. One each for users, likes and posts. I can't put the likes inside of either the users or the posts entities as sub-documents because there could be thousands of them. Even with 256KB documents I'd run out of room pretty quickly. I need a way to quickly get the top 100 posts that a user liked (and continue to paginate from there). I also need to go the other way. I need to get all the…

    1,671 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    27 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  2. On-Premise instance

    Allow us to host our own on-premise DocumentDB instances

    558 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    47 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support multiple collections in stored procedures

    Currently CosmosDB Stored procedures only allow access to a SINGLE collection (because they seem to be scoped to collections rather than to the database), via getContext() :

    var collection = getContext().getCollection();

    But any "useful" / "real-life" application using ComosDB will typically have to interact with more than one collection. For example, it is currently IMPOSSIBLE to insert documents into two distinct collections within a database using a single stored procedure -- a VERY SERIOUS drawback / limitation.

    I would propose that stored procedures be scoped to the database level and then we would be allowed to do something like:

    var…

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

    Updating this to declined. As a partitioned data store, stored procedures are scoped to a partition and cannot span beyond that.

    To take advantage of a partitioned data store, data must be modeled in such a way it can infinitely scale. This feature bounds independent compute resources (partitions) together so cannot scale predictably.

    Thanks.

  4. Open source DocumentDB

    Why in the world isn't DocumentDB available as open source? Didn't you guys learn anything from Dryad: http://en.wikipedia.org/wiki/Dryad_(programming) ?

    147 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. Sub-collections for multi-tenant applications

    In a multi tenant environment it is absolutely essential to limit results only to documents that belong to the current tenant. Adding a tenant name property to every document is not good enough because developers must ALWAYS remember to filter queries by that property. If they forget to do that the results can be devastating. It is also not possible to prevent that with tests.

    To use a separate collection for each tenant is too expensive with the current pricing structure.

    Please enable a possibility to add sub-collections that would act as a query boundary. They should also be a…

    113 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add emulator support for windows 7 & 8

    The DocumentDB emulator currently only supports Windows 10.

    It would be great if support for Windows 7 & 8 could be added or a work around to run it on these versions of Windows.

    98 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Flag idea as inappropriate…  ·  Admin →
  7. Make triggers automatic

    Right now, triggers are not automatic meaning that they must be specified on each database operation where you want them to be triggered. This means that there is no way to ensure that business rules and other constraints are maintained. I have resorted to telling other developers never to hit the database directly but instead use the set of sprocs established to maintain constraints. It seems to work for us because we're small, but I can imagine that in a larger development team, someone will hit the database directly bypassing your sprocs and risk violating your desired constraints.

    Triggers provide…

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

    After reviewing this again we have decided to move this to declined as we would not implement this capability.

    The correct means to implement this type of behavior is to use Change Feed. Change feed is to used to build event-driven scenarios and is best suited to handle this. Most customers looking for this capability are all using change feed to do it.

    For more information on change feed please see, https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed

    Thank you for your suggestion.

  8. Support stored procedure execution over all partitions

    So I'm in a bit of a corner performance wise. Querying data from a broad and not necessarily well defined range of devices - some update once a day, some every 10 seconds. Need to query over the longer time span to make sure all devices are represented but only need the latest record. So might need a 100 or so results at the end but due to the lack of a GROUP BY function in Cosmos SQL, the output can be more like 100,000 which then have to be filtered out client side. No worries, just use a stored…

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

    Hello Ian. Just following up.

    We are going to mark this as declined because Cosmos architecture is not designed to span partitions because it limits our ability to scale predictably which is why people use us.

    I think there are ways to solve your dilemma and I hope you have at this point.

    Thanks much.

  9. Please provide a comparison article: compare between DocumentDB, MongoDB and RavenDB

    to help us choose which database should we consider for each scenario.

    39 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    declined  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  10. Emit RU charges (and other metrics) to Application Insights

    log @cosmosdb RU usage per query in @AppInsights (without using custom data), by configuration.

    turn a key, in configuration, and have request response info, like RU charge, emitted to AppInsights.

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

    Hi Ryan. Thank you for your suggestion.

    As you probably know, this can be done today using Custom Events in Application Insights.

    https://docs.microsoft.com/en-us/azure/azure-monitor/app/api-custom-events-metrics

    As customers have different requirements for how RU usage is tracked via Diagnostics or Monitor and as there is a viable option for customers to do on their own, this is not something we would look to implement within our SDKs.

    Thank you for your suggestion.

  11. 34 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Flag idea as inappropriate…  ·  Admin →
  12. Emulator - Provide some RU/s or RU/m metrics

    It would be nice if the emulator displayed some basic metrics such as RU/s or RU/m even if they were exported to a log file. This would allow us to do some "real world" analysis for better capacity planning.

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

    Thank you for your patience while we reviewed this.

    Unfortunately it is not possible to accurately emulate the service like this in Azure cloud. The results would be so different from the service running in Azure that it would invite to more questions and confusion than actually being useful.

    Thank you for your suggestion.

  13. DocumentDB project for Visual studio like existed SQLServer project.

    It's would be valuable if we will can save all collections and related scripts in a new type visual studio project. Now only in a database we can observe UDFs, triggers and so on.

    Another option for a project could be compare .js objects in a collection. With a project we would have a chance to compare already deployed versions of our scripts with current developer version of the script.

    24 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 →
  14. Save queries similar to views in SQL Server

    It should be possible to save simple queries from the azure portal and execute those with an alias name from the documentdb clients. This can be used whenever i do not need a big stored procedure and simplify development when you have multiple project using the same queries.

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  15. A non-Azure version of DocumentDB ?

    Do you have a plan to release a non-Azure version of DocumentDB ? If you guys try to force developers to use Azure regardless they want it or not, you're likely to get nothing, you'll never get DocumentDB well-known by the community, and thus never be a competitor of other NoSQL providers like MongoDB, Couchbase Server, Cassandra etc...

    19 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
    declined  ·  DocumentDB Team responded

    At this time we do not have immediate plans for a non-Azure version of DocumentDB. We will continue to evaluate this as we receive feedback from customers.

    Thanks,
    Stephen Baron
    Azure DocumentDB

  16. MongoDB as service natively in Azure

    Azure has DocumentDB in the family and I think is good but there is still a long way to get to a useable product. There are too many limitations like 16KB size, not rich enough query/aggregate operations, geo spatial support, no emulator/local instance etc.

    So why don't you consider existing mature document DB like MongoDB as a service. I know MongoLab is offering this kind of service but look at the price tag, you will be scared off for most of us.

    Azure is all about choices.

    16 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    declined  ·  DocumentDB Team responded

    We do not have plans to offer a hosted Mongo solution.

    Thanks,
    Stephen Baron
    Azure DocumentDB

  17. Connect Cloud Explorer with local Document DB emulator

    Please provide an option to connect local DocumentDB emulator with Cloud Explorer inside Visual Studio via a connection string.

    It will be helpful to have features like
    - directly committing the stored procedure/functions/trigger to source control from there instead of going through all copy-paste.
    - creating/updating/triggering a stored procedure from source control

    14 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. Implement Hibernate OGM backend for Cosmos DB Gremlin API

    Hibernate OGM is widely adopted graph library, also used as backend for spring data neo4j, and has many important features like lazy loading, and will allow seamless implementation, and to shift from other databases like neo4j to to azure cosmos db.

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

    Thanks for your suggestion. We have reviewed this.

    Hibernate only supports Neo4j at the moment. It doesn’t have any Tinkerpop surface area, so Hibernate or the community would have to build that first before we could possibly support.

    If that happens we can move this to unplanned (backlog) and take another look in the future.

    Thanks.

  19. On Premise deployment would be great!

    I'd like to host DocumentDB as part of an On Premise application architecture - be really useful if it was available as a local model, rather like Mongo and other NoSQL DBs.

    12 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
    declined  ·  DocumentDB Team responded

    At this time we do not have immediate plan for an on-premises version of DocumentDB. We will continue to evaluate this as we receive feedback from customers.

    Thanks,
    Stephen Baron
    Azure DocumentDB

  20. (Java) remove final from FeedResponse in azure-documnetsDb so I can mock it nicely in unit tests

    as a Dev writing a unit test against the documentClient.queryDocuments method,
    I want to mock the call and its DTO's
    So that I can unit test it effectively.
    i.e.

    private void givenAResponse(List<Document> response) {
    
    FeedResponse feedResponse = mock(FeedResponse.class);
    QueryIterable queryIterable = mock(QueryIterable.class);
    when(feedResponse.getQueryIterable()).thenReturn(queryIterable);
    when(queryIterable.toList()).thenReturn(response);
    when(documentClient.queryDocuments(eq(CONNECTION_LINK), any(String.class), any(FeedOptions.class)))
    .thenReturn(feedResponse);
    }

    all fail due to:

    Cannot mock/spy class com.microsoft.azure.documentdb.FeedResponse
    Mockito cannot mock/spy following:
    - final classes

    I am using: https://mvnrepository.com/artifact/com.microsoft.azure/azure-documentdb/1.16.0

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

Feedback and Knowledge Base