Live data from Hacker News

Azure Cosmos DB, a globally distributed database

docs.microsoft.com

61–70 of 120 posts

Re: Azure Cosmos DB, a globally distributed database

#62

Earlier quoted context omitted.

Not really. It's a new database and is a superset of DocumentDB.

Azure Cosmos DB has been many years in the making. Azure Cosmos DB started as “Project Florence” in late 2010 to address developer the pain-points faced by large scale applications inside Microsoft. Observing that the challenges of building globally distributed apps are not a problem unique to Microsoft, in 2015 we made the first generation of this technology available to Azure developers in the form of DocumentDB. S…

Is GROUP BY support a possibility in the future? I was a little disappointed to see aggregates implemented without them after waiting for so long...

Here's a link for anyone who would like to vote for this feature. https://feedback.azure.com/forums/263030-documentdb/suggesti...

Re: Azure Cosmos DB, a globally distributed database

#63

Very interesting DB service. If I'm reading the docs right it sounds like you can't do JOINs across documents? https://docs.microsoft.com/en-us/azure/documentdb/documentdb...

Not using DocumentDB API but you can kinda do joins using graph traversal Gremlin API.

Re: Azure Cosmos DB, a globally distributed database

#64

No backup/restore?

Cosmos DB does local persistence and replication both within a region and across any number of regions.All data is durable and made highly available via replication. You dont need to take backups or restore them for ensuring durability or availability. See (1) https://docs.microsoft.com/en-us/azure/cosmos-db/introductio... and (2) https://docs.microsoft.com/en-us/azure/cosmos-db/introductio.... That said, if you need backup/restore for the cases where you accidentally delete your data and want to resurrect it, Cosmos DB automatically takes backups for you periodically.

Re: Azure Cosmos DB, a globally distributed database

#65
post #4

> Latency: 99.99% of Impressive SLA to guarantee, I'm curious if this will hold up in all random customer workloads that are coming, e.g. updating a lot of fields in a large document (or just a very large insert).

"For a typical 1-KB item, Cosmos DB guarantees end-to-end latency of reads under 10 ms and indexed writes under 15 ms at the 99th percentile, within the same Azure region." i.e. 1 KB item; Same Azure region; This now seems more plausible. One thing I'm curious about is if they tested load on a single partition, or if they only tested latencies for random access.

Cosmos DB guarantees both low latency and that you can achieve your provisioned throughput with SLAs. Latency is guaranteed at p99 regardless of storage size or number of partitions.

Re: Azure Cosmos DB, a globally distributed database

#66

From the intro page[1]... Many of the descriptions comparing to NoSQL are wrong. There are plenty of NoSQL options that have similar features, though it isn't universal, it can and often is there. Cassandra, for example, probably does just as well in multi-zone/dc concurrency. Consistency options are also similarly tunable. Cockroach 1.0 was announced earlier as well. It's not that I don't appreciate the option. This…

Azure Table Storage? Uggh. Nasty. I've tried half a dozen times to use them, and every time I've given up. Great for write-only data that you never want to see again. Horrible for real-world querying.

Re: Azure Cosmos DB, a globally distributed database

#67
post #4

> Latency: 99.99% of Impressive SLA to guarantee, I'm curious if this will hold up in all random customer workloads that are coming, e.g. updating a lot of fields in a large document (or just a very large insert).

We just did a benchmarking for a PoC on DocumentDB side-by-side Cassandra. It does the job, I have not yet seen anything revolutionary. Cassandra benchmarks seemed better.

One key difference is the cost difference between running Cosmos DB and Cassandra. We have a TCO paper (https://aka.ms/documentdb-tco-paper) that shows that for a 1M operations/second workload, Cosmos DB is significantly 3x-10x cheaper than other systems.

Re: Azure Cosmos DB, a globally distributed database

#69
post #8
post #4

> Latency: 99.99% of Impressive SLA to guarantee, I'm curious if this will hold up in all random customer workloads that are coming, e.g. updating a lot of fields in a large document (or just a very large insert).

this is a little bit hard to believe. Inter region Ping can even take longer than 15ms... I guess this SLA is for eventual consistency model not strong consistency model

The latency SLAs are within the same Azure region. You can distribute your data across any of the 30+ regions that Azure is available in. Your apps always read from the local/closest region with the homing APIs.

Re: Azure Cosmos DB, a globally distributed database

#70
post #47

If I understood it correctly, they mentioned they offer horizontal scalibility for their databases and I wonder how does it work for the graph data model

This is covered in https://docs.microsoft.com/azure/cosmos-db/gremlin-support. You can specify a partition key for your graphs for scale out, and access vertices and edges using the partition key + item key ("id") like g.V(['USA', 'Seattle']).
Post reply on HN