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. Pin the Graphs from the Metrics Page to Azure Portal Dashboards

    I would love to be able to pin the graphs on the Metrics tab of the Azure Portal blade for Cosmos DB to my Azure Dashboard. Many other services allow this and it's great to get an overview of health, status and usage. Also great for Ops dashboards, sharing, etc.

    Right now the work around is to manually point the diagnostic logs to an OMS workspace and recreate the query in Log Analytics, and then pin it. It kinda sucks and your graphs are way better.

    65 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  2. Configure RU per region

    For a database/collection that is made available in several regions, make it possible to provision RU capacity independently in each region. Use case: Secondary backup region that exists only as an up-to-date mirror of data in case the primary becomes unavailable, not to offload read operations under normal operation. Currently this means provisioning unused RU capacity, at a high cost, in the secondary region.

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

    Hi Magnus. This is currently unplanned by us for our road map. Some context and feedback for you on this.

    First, to do the replication itself to the secondary region you need RU/s sufficient to support the request rates for the primary region itself. Replication and writing to the secondary region itself is not free so there needs to be sufficient throughput provisioned to do that.

    Second, for the secondary region to be able to function as the primary should a fail over occur, the replica region itself needs sufficient throughput to function as the primary.

    Thanks again for your suggestion. Will mark as unplanned for now in case circumstances ever do change.

  3. Azure Cosmos DB: HBase API

    Add support to Azure Cosmos DB for HBase API. This will open up many Big Data use cases.

    18 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 →
  4. 13 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  5. Faster resource deletion

    CosmosDB resources take a very long time to delete. Make this faster please!

    7 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 →
  6. improve cost calculator to include real storage costs

    Currently the cost calculator only shows the costs for storage. However, there is a hidden cost which is only mentioned in one place in the documentation; a minimum throughput of 40 RU's per gigabyte in the database. This increases the storage costs about tenfold.

    Unfortunately, this cost is not mentioned in any of the cost calculators that microsoft offers. This made our usage of cosmosdb unfeasible and cost us a few weeks of prototype development down the drain.

    6 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 →
  7. 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 →
  8. Enable Locks at Database and Collection Level as well to avoid deletion.

    We can enable locks at Resource level to make sure Cosmos DB is not deleted. Currently it will still allow the admin to delete the Database and delete the collection under the db. It will be nice to lock the DB and Collection as well. So in Production Environment we can enable these locks to make sure they are not deleted by anyone.

    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 →
  9. Allow Activity Log Alert on Control Plane operations

    To be notified if someone deletes a collection unintended, i think it would be great to have an activity entry for collection removal. Right now, I only can set an event if the database is removed.

    5 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  10. 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…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →

    Hi Nate. Thanks for your suggestion. We are currently evaluating TLS 1.2 enforcement.

    In the interim if you are running a service within the Microsoft cloud all outbound connections are TLS 1.2. If you are running outside the Microsoft cloud the recommendation is to use .Net 4.6 which is TLS 1.2 by default. If you are running a VM the recommendation is to disable all transport protocols except TLS 1.2.

    Registry Example:
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\tls 1.0\client]
    “disabledbydefault”=dword:00000001
    “enabled”=dword:00000000

    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\tls 1.0\server]
    “disabledbydefault”=dword:00000001
    “enabled”=dword:00000000

    As mentioned this is currently being reviewed for planning. We will update this item as this progresses.

    Thanks again.

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

    4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  12. Please add role that has permission [Read Collection],[Read Document],[Delete Document].

    As far as I know, there is just 2 role "Reader" and "Contributor".
    But this is not enough in my use-case.
    I want to create and assign custom role that has permission [Read Collection],[Read Document],[Delete Document].
    And I want to use Azure Portal to operation [Read Collection],[Read Document],[Delete Document].

    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 →
  13. Expose exceptions in the C# document API

    I occasionally get a RequestRateTooLargeException and would like to have code like this Policy.Handle<RequestRateTooLargeException>().Retry(...) but the exception is marked as 'internal' and I can't access it. I don't want to have to do Policy.Handle<DocumentClientException>((ex) => { return ex.Error.Code == "Request rate is large" }).

    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 →
  14. 4 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: oidc
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  15. delete All data in a container

    To be able to delete, all the data in a container through azure UI.
    -> Keep all the settings, just drop all the data.
    this is useful during development when we have to delete and recreate a container and then recreate all SP, UDF, etc manually, and recreate all the indexes. It saves a lot of development time and reduces errors as cosmos is a case sensitive database.

    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 →
  16. Add direct mode support to NodeJS SDK

    The NODE JS SDK is horribly slow. Add direct mode support to reduce latency.

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

Azure Cosmos DB

Feedback and Knowledge Base