Azure Cosmos DB

Azure Cosmos DB is a globally distributed database service designed to enable you to elastically and independently scale throughput and storage across any number of geographical regions with comprehensive SLAs. You can develop document, key/value, or graph databases with Cosmos DB using a series of popular APIs and programming models.

SQL API:
With the SQL API, Azure Cosmos DB provides rich and familiar SQL query capabilities with consistent low latencies over schema-less JSON data. In this article, we provide an overview of the Azure Cosmos DB’s SQL API, and how to best use the API.

Gremlin API:
Azure Cosmos DB provides the Gremlin API for graph modeling and traversal, along with turn-key global distribution, elastic scaling of storage and throughput, and low latency.

Cassandra API
Azure Cosmos DB supports the Cassandra API. This means that by using existing drivers, your application written for Cassandra can now communicate with Azure Cosmos DB instead of Apache Cassandra/Datastax Enterprise databases, and gain benefits like global distribution and elastic scale.

MongoDB API:
Azure Cosmos DB supports the MongoDB API. This means that by using existing drivers, your application written for MongoDB can now communicate with Cosmos DB instead of MongoDB databases, and gain benefits like global distribution & elastic scale.

Table API:
Azure Cosmos DB provides the Table API for key-value workloads. This provides a premium experience for Azure Table storage with secondary indexes, global distribution, low latency, and dedicated throughput.

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. MongoDB API : aggregation operation is too slow

    the aggregation operation is too slow ...

    57 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →

    We are currently working on this feature and have made it available in Preview in the Azure Portal.

    Please feel free to test Aggregation Pipeline support for your MongoDB API accounts in Cosmos DB by opening your MongoDB API account, then clicking on “Preview” tab on left hand side and then Enable for Aggregation Pipeline.

    While there please feel free to test support for MongoDB 3.4 support as well as Per-Document TTL support.

    Thank you for your request and votes.

  2. 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…

    43 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Support TTL indexes on any field

    Please add support for TTL indexes on any field, not just the internal and inaccessible `_ts` field. We need document specific TTLs.

    https://docs.mongodb.com/manual/tutorial/expire-data/

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

    Per document TTL is now available in Preview for customers to try.

    To enable and test this feature access your MongoDB API account for Cosmos DB in the Azure Portal, click Preview tab on left hand side, then click Enable to test Per-document TTL.

    You will can also enable and try Aggregation Pipeline and MongoDB 3.4 support from here as well.

    Please try TTL and all these features and please feel free to give us feedback.

    Thank you for your suggestion and your votes.

  4. 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: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support recursive calling of stored procedures

    Please support recursively calling the stored procedures and support stored procedure continuation, error handling and make it easy to deploy to all partitions..

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →

    There are multple requests here. While we do not support stored procedures to call other stored procedures, we do support allowing a stored procedure to call a UDF today. Can you provide more information and scenarios for the other requests for continuation, error handling, etc?

    Thank you.

  6. Option in UI to change localhost (127.0.0.1) binding in Cosmos Emulator

    Currently the only way to allow network access is through the command line with the /AllowNetworkAccess flag.

    Adding the ability to control this from the UI would be really useful, since localhost binding is the default.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  7. please add function can see execution status of query

    please add function can see execution status of query

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Azure Cosmos DB

Feedback and Knowledge Base