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.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Support lambda steps

    Lambda steps (i.e. steps that take arbitrary groovy-functions as arguments) are currently not supported. We plan to migrate to CosmosDB but have a few traversals that contain lambdas.

    10 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 →
  2. Add support for sack

    Currently GraphAPI has almost no support for doing operations while traversing or listing vertices, like combining vertex properties with weights (edge property) as you traverse. Math is not supported, and often times an alternative would be to use a sack, but that is also not supported. So there is really no workaround.

    10 votes
    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 →
  3. 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.

    9 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. Add a json data type

    I have json data i dont need to query but would like to be able to persist to a vertex. In my particular case the json is data for a client side quilljs editor. I dont need to be able to query or manipualte it on the server only retrieve it.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  5. Add more options for GraphSONMode

    Currently I am using the GraphSONMode.Normal to get adjcency information of a 'vertex' but then I only use the outgoing edge information and ignore the incomming edge information.

    From optimization point of view we should add more options to have more fine-grained control on the output format of the gremlin query.

    I would like to suggect that we add 'IncludeOutE' option for GraphSONMode to return GraphSON format including only Outgoing edge information and 'IncludeInE' option to return GraphSON format including only Incomming edge information.

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

    6 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. [Gremlin] Paging Support

    Please add paging support for Cosmos Graph DB via the Gremlin API. Traversing the whole graph for a large set of vertices can be very expensive. Paging would allow better efficiency when targeting a subset of a large set of vertices.

    6 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 →
  8. CosmosDB's implementation of the Tinkerpop DSL has a wrong/missing signature for limit(...)

    Tinkerpop's GraphTraversal DSL suggests that the limit-operator should take a value of type long, i.e. a 64 bit number. Microsofts version of that operator however seems to only accept values of type int (which is 32 bit). This is not a problem if we only use queries without any bindings, i.e.

    g.addV('person').property('firstName', 'Bob').limit(1)

    will just work fine. Trouble starts whenever we use bindings (using Gremlin.net, the seemingliy now preferred way to query CosmosDB graph). Issuing

    g.addV('person').property('firstName', 'Bob').limit(x)

    with a binding of 'x' to (long)1 will throw the following exception:

    Gremlin.Net.Driver.Exceptions.ResponseException: 'ScriptEvaluationError:

    ActivityId : 919d7a89-70fd-43d1-b736-e1d1bb9aa7ac
    ExceptionType : GraphCompileException
    ExceptionMessage :
    Gremlin…

    4 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 →
  9. DATA QUALITY: Please allow for properties to be set using a subquery

    The use case here is incrementing the reply count property on a post vertex. To increment, we have to fetch the post vertex, increment the reply count property within our API, then update the graph with the new property value. Unfortunately, if multiple users reply simultaneously using different instances of our API, the reply count value is set incorrectly. Sending a query to the database and letting the server make the updates by calculating the value would address the issue.

    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. Please add the none step.

    When we create or update vertices and edges, we don't need the results from the traversal. Having the results filtered out server-side saves resources.

    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 →
  11. DATA QUALITY: Please support graph transactions.

    Today, if a traversal fails at step n of m, figuring out what state the graph is in is quite a chore. As a result, all data modification traversals have to be written to support retries. Unfortunately, if the retrying component fails, the network fails, or something else fails, which prevents retry, the graph is left in an unknown state.

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

    Hello and thank you for your suggestion.

    While Cosmos DB provides support for transactions within a partition, we do not have support multi-step, cross-partition or distributed transactions.

    We recommend to customers requiring transactions across multi-step operations to coordinate these using the consistency model and optimistic concurrency control.

    Thank you for your suggestion.

  12. Cheat seat has misspelled for Graph

    Graph spelling in "Graph object attributes" section is written as Grapph.
    which is wrong. Please fix it.

    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 →
  13. 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 →
  14. 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 →
  15. Integrate existing Janus GraphDB application with Azure Cosmos DB API for Gremlin and Open Service Broker for Azure

    I read a post on how to Integrate existing MongoDB application with Azure Cosmos DB API for MongoDB and Open Service Broker for Azure, https://docs.microsoft.com/en-us/azure/aks/use-cosmosdb-osba-mongo-app, and I start to think is it possible same technique could be adopt to janus graph->COSMOSDB graph?

    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 →
  16. Able to view entire graph in the data explorer

    I would like to be able to view my entire graph in the data explorer. At least this should be possible for small graphs. Right now as you traverse, the explorer removes the previous nodes from the graphical view. This is really a pain for small graphs where you want to view the complete the picture. I can understand the new for big graphs but for small ones you should allow displaying the entire graph.

    Also, it should be possible to view edge properties on the data explorer without looking at the tab view.

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

Feedback and Knowledge Base