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

    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. Use a domain ontology (RDF/OWL) as a scheme in Graph DB?

    In Cosmos Graph DB, I would like to be able to import a domain ontology (RDF/OWL) as a scheme to model data.

    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 →
  3. 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 →
  4. To be upto date version of TinkerPop in Azure Cosmos Graph DB

    Apache TinkerPop Graph released v3.4.2 on 28th May 2019, but it seems that Azure Cosmos DB graph is still supporting the v3.2 which was released a year back from today. Azure Cosmos Graph DB should be upto date to support the latest version of Apache TinkerPop Graph.

    TinkerPop v3.4 supports various features like having support of min and max operations on comparable like string.

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

    Hello and thanks for your request. We support 3.4 from a driver and connectivity perspective but there are a number of features we haven’t implemented such as min and max on non-decimal values.

    These are currently on our backlog to implement so will mark this as unplanned for now which will keep this request open. When this moves off of our backlog we will mark this as planned and update you here.

    Thank you.

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

    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 →
  8. Gremlin Graph: Add support for array values in group() and groupCount()

    You should be able to group by an array of values. it is perfectly valid to do a group() or groupCount() like so:

    g.V().groupCount().by(values('id','name').fold())

    Other Graphs implementing Gremlin will give you a result, while CosmosDB fails with:

    "Unexpected Error: Cannot resolve object to a primitive value."

    13 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 →
  9. 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 →
  10. Improve range() step costs

    Graph API is nice, however in its current state it is unusable for large data sets due to high RU costs.
    We are trying to implement paging for retrieving large amounts of data, however RU cost is unacceptable. Query "g.V().range(0,100)" costs 63.11 RU, however "g.V().range(2000,2100)" costs 338.06 RU even though it is same amount of data. Higher values are even more expensive meaning it's impossible to retrieve high amount of data without scaling up throughput.

    26 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 →
  11. 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 →
  12. CosmosDB Graph API should support array types inside Gremlin properties

    Currently, the CosmosDB Graph API does not support array types inside of Gremlin properties. This forces users to rebuild their graph models to match what the Graph API requires. The CosmosDB Graph API should support array types inside of Gremlin properties.

    28 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 →
  13. 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 →
  14. 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.

    6 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 →
  15. Microsoft join and support GQL

    I think it would be a great benefit for Cosmos DB to support the new movement to get to a single Graph Query Language. Microsoft joining this movement might help in rapid evolution and acceptance of such a language.

    Taken from https://neo4j.com/blog/time-for-single-property-graph-query-language/:

    The time has come to create a single, unified property graph query language.

    Different languages for different products help no one. We’ve heard from the graph community that a common query language would be powerful: more developers with transferable expertise; portable queries; solutions that leverage multiple graph options; and less vendor lock-in.

    One language, one skill set.

    56 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 →
  16. Document how to make & use Icon Sets in the Graph Data Explorer

    You have a Gremlin Graph Intro video that includes use an icon set (the video shows an icon set for Marvel characters) - but there is very little info on how you can create this icon set - i.e. the video shows a vertice that represents the icon set, but it isn't clear what properties on the vertice do what - and also what encoding is used for the icon picture content.

    11 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 →
  17. Support Math functions in the graph

    simple arthimatic (like computing %s) have to be done after extracting the data. pl support math step

    21 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 →
  18. 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 →
  19. Support Gremlin Bytecode to enable the fluent API of Gremlin.NET

    Azure Cosmos DB Graph API doesn't support Gremlin Bytecode. Therefor it is not possible to use the fluent traversal API of Gremlin.NET.

    Within the Azure Cosmos DB Graph .NET API (https://docs.microsoft.com/en-us/azure/cosmos-db/graph-sdk-dotnet) it is recommended to use Gremlin.NET. So it would be really nice if all features of Gremlin.NET would be supported.

    See also the idea of a "better type-safe APIs fro Gremlin" (https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/19340761-better-type-safe-apis-for-gremlin) within the Graph API feedback.

    617 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    28 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  20. Support for Graph API in Data Migration tool

    Looking for a way to do backup/restore or manual export/import of a Cosmos DB graph using Graph API - or equivalent.
    I want to be able to restore state of a database while developing and found that Data Migration tool can do what I want, but does not support Graph API.

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

Azure Cosmos DB

Feedback and Knowledge Base