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.
Azure Cosmos DB, a globally distributed database
71–80 of 120 posts
Re: Azure Cosmos DB, a globally distributed database
#72> 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.
Re: Azure Cosmos DB, a globally distributed database
#73This 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.
Key-value is a reduction of document storage.
Re: Azure Cosmos DB, a globally distributed database
#74Re: Azure Cosmos DB, a globally distributed database
#75Re: Azure Cosmos DB, a globally distributed database
#76Re: Azure Cosmos DB, a globally distributed database
#77Earlier 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.
[0] i.e. If I somehow pick keys which are on the same partition.
Re: Azure Cosmos DB, a globally distributed database
#78Earlier 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).
Re: Azure Cosmos DB, a globally distributed database
#79What's the CAP tradeoffs of Cosmos? It's not clear to me looking at the SLA docs.
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
#80Designed 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