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. Add feature to only support TLS 1.2 for PCI

    When a PCI scan was run on our public cosmos end point it raised an exception since TLS 1.0 has not been decommissioned.

    Can there be a button on the portal to only support TLS 1.2?

    thanks

    4 votes
    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. Increase storage limit per logical partition in unlimited containers

    I believe each logical partition is capped at 10GB regardless of whether it's contained in an unlimited container or not. Please give us the ability to scale up when needed so that we don't have to come up with yet another partitioning scheme. A logical partition should be able to hold much more than 10 gigs, in my opinion.

    6 votes
    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. 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 →
  4. Allow in a pre trigger to insert a document on a different partition key

    In creating a "delete" audit scenario where i need to capture a new document being deleted in a pre delete trigger, why as long as i am in the same collection are we being limited to the same PartitionKey? This now requires a secondary filter to be applied to all queries to filter out the "Delete" audit records. Where adding a custom "delete" partitionKey would solve all issues.

    error received:

    {
    "errorCode": 500,
    "errorMessage": "Message: {\"Errors\":[\"Encountered exception while executing function. Exception = Error: Error: {\\\"Errors\\\":[\\\"Requests originating from scripts cannot reference partition keys other than the one for which client request…

    3 votes
    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 →
  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. 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: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  7. [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 →
  8. 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: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  9. Make Throttled Request metric (Cosmos DB) available for configuring a unified alert

    When looking to migrate our alerting (deployed in ARM templates) to the new alerting platform the throttled request metric is not available when configuring an alert for Cosmos DB resources, we currently have a classic alert using this metric. I have attempted to use an alert based on 'Total Requests' filtering for response code 429 but this doesn't seem to behave the same as the existing Classic alert (maybe due to the only available setting for 'timeAggregation' being 'Count'). Having logged a support request it was suggested I make a request here.

    5 votes
    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. Partition switching between collections and databases.

    I have a requirement to ingest documents into an ingestion collection. Once the documents are processed I'd like to do bulk moves of documents from the ingestion collection to archive collections. I think a feature like partition switching in SQL Server would work really well for Cosmos DB. At the moment I have to consider copying the appropriate documents from the ingestion collection using the bulk executor then once successfully copied delete the documents from the ingestion collection.

    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 →

    Hello Graeme. Currently we do not offer this functionality in precisely the way you have asked for.

    However, customers are using our Change Feed feature to archive off data and otherwise manage data between an ingest container and other colder storage. You can take a look here to learn more about Change Feed. This may be actually what you’re after.

    https://docs.microsoft.com/en-us/azure/cosmos-db/change-feed#change-feed-use-cases-and-scenarios

    Let us know and thanks!

  11. 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 →
  12. Fix sort results when documents are missing sort field

    When documents are missing the sort field, they should still be included in the query results. Cosmos DB with MongoDB API omits these documents, but MongoDB includes them.

    For example, the following query will return people sorted by age, but documents missing the age field do not appear in the results:

    peopleCollection.find().sort({ age: 1 })

    This is probably related to the following Cosmos DB with SQL API issue: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/16842499-order-by-null-handling. Will resolving that issue fix MongoDB sorting as well?

    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 →
  13. Add Support for Service Tags to Azure Cosmos DB Firewalls

    At the moment CosmosDB firewall rules are restricted to IP addresses or ranges. 0.0.0.0 is too permissive and permits access from other Azure users Subscriptions. It would be beneficial if it were possible to use Service tags in security rule definition to reduce the complexity of the Cosmodb firewall configuration in the manner available to Virtual Networks, Firewall or NSGs.

    for example

    AzureCloud
    AzureCloud.EastUS

    It is impractical to download the list of Microsoft Azure Datacenter IPs to check and update firewall rules.

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

    Hello Robin. Table support for Change Feed is not on our current roadmap but we do anticipate providing this capability in the future.

    When this moves into our current development cycle I will update this here so you are notified.

    Thank you for your suggestion.

  15. implement Table API for premium tier Azure Blob Storage

    The Table API for Azure Blob Storage works well in scenarios which contain a large number of small databases.

    The premium pricing tier for Azure Blob block storage offers an upgrade in speed for those who want better performance than standard tier and are willing to pay. The price for premium blob storage is about twice that of standard, but still very inexpensive for small data sets.

    I'm aware of Cosmos DB and that Cosmos DB is currently the upgrade path for those who want better performance than Table API with blob storage. I'm also aware of the $20/month pricing…

    3 votes
    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 →
  16. Data masking feature in Azure Cosmosdb

    Request you to please add data masking feature to Azure CosmodDB to protect sensitive data like always encryption feature in SQL Server which allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to the Database Engine ( SQL Database or SQL Server). As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data (but should have no access)

    Ref : https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017

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

    Hi Siva, thank you for your suggestion.

    There are a couple of aspects to your ask which I will address separately.

    We are planning on providing some additional capabilities to RBAC support in Cosmos DB that will separate Database Operators who can provision resources and rotate keys, versus an application which can access data but cannot provision resources or rotate keys. This is partially what you are asking for so want to bring this up.

    With regards to data masking and encryption…

    Today we support encryption of all data both in transit and at rest. This encryption is Microsoft-managed . At some point we will enable user managed keys but this is currently not on our roadmap.

    However users are fully able to implement client-side encryption and encrypt the data before it is sent by the client. This is fully possible today.

    The ability to offer this as a feature…

  17. 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 →
  18. using cassandra /cosmos indexing to improve querying performance

    Cosmos DB docs states that every record gets indexed
    when describing the tables I can see there is an index created for each table.
    however, sizes of the indexes created seem to be 0 in the data explorer

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  19. whitelist ip - include a description

    Can we include a short text description for each white listed ip in the cosmos firewall settings - similar to azure sql server white listed ip settings

    It would make auditing so much easier, currently we have to maintain a seperate document showing which IP corresponds to what

    3 votes
    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 →
  20. allow javascript api client side

    allow javascript type queries in the client as per https://docs.microsoft.com/en-us/azure/cosmos-db/javascript-query-api

    It would be great to be able to do this from a JS client.
    I'm using sql sdk currently

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

Azure Cosmos DB

Feedback and Knowledge Base