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. 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 →
  2. CosmosDB's search function does not work

    In the CosmosDB section, there is a function to search through the documents. However, in the case of a large volume of documents, the search cannot find what I'm looking for UNLESS I have scrolled down the given list and already loaded it in. A search function that does not find things unless you've already found them yourself is a trash search function.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  3. Optimise TOP with ORDER BY clause queries

    A query such as that below appears to do a complete scan of the database (in my database, towards 1 Million RUs). Could this be optimised to traverse the index from the beginning (ASC) or end (DESC) and stop when the desired number of records (TOP) have been found?

    SELECT TOP 1 * FROM c
    ORDER BY c.timestamp DESC

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Flag idea as inappropriate…  ·  Admin →
  4. Better documentation and examples for Azure Cosmos DB Data Migration tool

    I would like better documentation for the Azure Cosmos DB Data Migration tool to ease migration to Cosmos DB from other data sources as these impedes migration of brownfield developments.

    If you are mapping LEFT joins from sql to arrays or collections of objects this documentation is missing from instructions. The below post is the only starting point for some

    https://stackoverflow.com/questions/45981322/how-to-import-documents-that-have-arrays-with-the-cosmos-db-data-migration-tool/45994471#45994471

    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 →
  5. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  6. Bug in nested field handling with findOneAndUpdate() ?

    Seems that findOneAndUpdate() returns value of updated document for sub json fields while {"returnOriginal": true} is specified. For up level fields it returns original value in same operation, which tells that flag is set correctly.
    This is fatal, because operation is no more single transaction if needs first fetch original value using separated command.

    Tested with several cases, but here is simple test example using node.js + monk:

    ** Original document:

    {
    "_id": "5ac1d9aa08b61a44c4174691",
    "myProperty": "123",
    "subProperty": {
    "myField": "567",
    "yourField": "***"
    }
    }

    ** Update command (node.js + monk)

    const doc = await db.get(MY_COLLECTION).findOneAndUpdate(
    {"_id": documentId},
    {"$set": {"myProperty" :…

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  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  ·  Flag idea as inappropriate…  ·  Admin →
  8. Add Encryption details to SLA

    The current SLA does not include information about encryption. It should be there.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Select network interface for Cosmos DB emulator to allow network access

    When the client SDK connects to the emulator it connects to the URL https://<myemulator DNS>:8081/.

    The emulator returns back the writeableLocations and the readableLocations in the JSON response and these URIs are used for subsequent access. It appears that the IP address returned are the first in the list of LAN network interfaces (e.g. in IPCONFIG). If you have multiple IP addresses (for example you have a DockerNAT virtual switch installed) then it might not be the best IP Address returned to allow network access.

    Why am I connecting to my emulator across the network you might ask? I'm…

    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 →
  10. File name messes up with status after uploading JSON documents to Cosmos DB

    File name messes up with status after uploading JSON documents to Cosmos DB when the file name is a little too long. It ruins the look and feel of Azure

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  12. Managing local account and authentication for accessing database and collection

    We are using Cosmos DB with Mongo API .We are unable to restrict the user to collection or database level. The only option available is read write keys and read only keys which works on the DB account level.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  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: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  14. gst login

    <a href="http://www.gstbillguide.in/">gst login</a>

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  15. Manage parallel processing server side

    If I run a query like "SELECT * FROM d WHERE d.field = "x" against a parallel database I expect the DBMS to run that query against each partition at the same time and return a set of collated results. As apparent from the REST API, it appears that such a query is only executed against 1 partition at a time. This means that to get proper parallel processing the client has to work out the partitioning, fire multiple queries and do the collation client side. To some extent this appears to have been encapsulated in the SDKs.

    To me,…

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

    One of the goals for parallel query execution in the client-side was to support low latency query execution. We’ve since added support for parallelism in the SDKs.

    We are planning to add support for REST API of all queries for workloads that need to reduce client CPU utilization.

    Thanks,
    Aravind Krishna R
    PM, Azure Cosmos DB

  16. Allowing to change (or disable) the aggregation query size cap at the user's discretion.

    This would avoid situations where CosmosDb becomes the bottleneck due to security concerns on the database.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  17. Include stored procedures and udfs and triggers as part of Data Migration export

    Include stored procedures, udf's and triggers as part of Data Migration export for document db

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  18. firewall

    Add comment/name field for each IP address/range so it is much easier to look down the list and know what each IP address/range is. I have 10 or so IP addresses and having to remember what each one is would be much easier if I could just add a comment next to it when entered that is then displayed.

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

    We recently added support for service endpoints which allow you to limit access to specific subnet within VNET. The filters themselves show the source subnet in portal. We will eventually move to VNET ACL’s but there is no ETA on that.

    Thanks for your suggestion.

  19. Add support for ProjectDefinition and SortDefinition from MongoAPI to query DocumentDB

    I am using following code (MongoDB C# driver) to projects fields , where queryDocument = '{{ "FullName" : /myname/i }}'

    BsonDocument projectionDefination = Builders.Projection.ToBsonDocument();
    projectionDefination.Add(new BsonElement("FullName", "myname"));
    collection.Find(queryDocument).Project(projectionDefination);

    getting following error:

    {"Command failed."}

    {{ "_t" : "OKMongoResponse", "ok" : 0, "code" : 9, "errmsg" : "Syntax error, incorrect syntax near '9'.", "$err" : "Syntax error, incorrect syntax near '9'." }}

    Can anyone update on this?

    I also tried above with RoboMongo

    Command: db.getCollection('Employee').find({ "FullName": /User/i}).projection({ "FullName" : "$FullName" })

    Received following error:

    Error: error: { "_t" : "OKMongoResponse", "ok" : 0, "code" : 9, "errmsg" : "Syntax error, incorrect syntax…

    1 vote
    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 →
  20. [Cosmosdb]-[nice to have] truncate functionality on collection

    Currently there is no truncate functionality available on a collection. The current option is to delete the collection and recreate it from scratch in order to wipe all data.This affects the DDL(schema) and manual is error prone. It would be nice if collection supports truncate operation.

    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