Live data from Hacker News

Azure Cosmos DB, a globally distributed database

docs.microsoft.com

71–80 of 120 posts

Re: Azure Cosmos DB, a globally distributed database

#71

Earlier quoted context omitted.

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…

Does Cosmos DB support distributed transactions like Spanner? Would be nice to see a deeper dive into Transactions like how isolation works etc.

I'd also be interested in an answer. I'm guessing the answer is "no" based on my reading of the docs, but it'd be nice to confirm that.

Re: Azure Cosmos DB, a globally distributed database

#72
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.

It is interesting that given their scale it essentially says that you can implement twitter on one of these and be done with a chunk of the infrastructure.

Re: Azure Cosmos DB, a globally distributed database

#73
post #5
post #2

This isn't a new database. This is a rebranding of the generically-named Azure DocumentDB, plus some new features.

Not exactly. DocumentDB was primarily a document store. Cosmos allows you to store graphs and KV pairs as well.

um, property graphs are basically document databases with a special "relationships" property. Then you add the graph algorithms.

Key-value is a reduction of document storage.

Re: Azure Cosmos DB, a globally distributed database

#77

Earlier quoted context omitted.

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

Sorry, I'm not talking about "number of partitions" but if I "forcibly"[0] hit the same partition, will the SLA hold?

[0] i.e. If I somehow pick keys which are on the same partition.

Re: Azure Cosmos DB, a globally distributed database

#78
post #60

Earlier quoted context omitted.

But from Cosmos DB's doc, cross-dc strong consistency seems not even supported. https://docs.microsoft.com/en-us/azure/documentdb/documentdb... "Azure Cosmos DB accounts that are configured to use strong consistency cannot associate more than one Azure region with their Azure Cosmos DB account."

I didn't claim cross-dc consistency. I said failover, which is shockingly hard to make many competitors do. The key here is that only one DC can take writes but the failover works transparently with your client (also with clear SLAs).

Why do you need failover if you have global multimaster like Spanner?

Re: Azure Cosmos DB, a globally distributed database

#79
post #75

What's the CAP tradeoffs of Cosmos? It's not clear to me looking at the SLA docs.

CAP only talks about the uncommon unhappy path (given a network partition, what is tradeoff between availability and consistency). PACELC theorem builds on CAP to describe that even in the absence of a network partition, there is a trade-off between latency and consistency (in other words, describing the tradeoffs associated with BOTH the common happy path and uncommon unhappy path).

Azure Cosmos DB offers 5 well-defined consistency models for you to choose from, so that you can choose the right tradeoffs for a given application or scenario. This way, you aren't stuck choosing between the hard extremes of Strong and Eventual consistency.

See: https://docs.microsoft.com/en-us/azure/documentdb/documentdb...

Re: Azure Cosmos DB, a globally distributed database

#80
post #52

Designed with TLA+! :D Small interview with Leslie Lamport: https://techcrunch.com/2017/05/10/with-cosmos-db-microsoft-w... Hope Cosmos team releases a whitepaper on their experiences with the language. I'd heard snatches of gossip here and there that TLA+ was used inside Cosmos, but no concrete details. edit: apparently there's also a video of Lamport talking about this https://www.youtube.com/watch?v=L_PPKyAsR3w

Wow, that's cool. TLA+ is the same formalism that Amazon uses to verify (some of) their cloud services.
Post reply on HN