Unless you’ve been living and working under a rock, you’ve probably heard of the Connected Field Services. One of the important pieces of the infrastructure is something bundled under the generic term “databases”, referring to both Azure SQL and DocumentDB. Think of a storage for billions and trillions data points and you get the idea of the scale required. One of the interesting announcements at Microsoft Build 2017 was that DocumentDB is no more, welcome to Cosmo DB.
What is it? In short, it’s globally distributed, multi-model database service. It transparently scales and replicates your data across any number of Azure regions, wherever your users are. Some of the key points:
- Turnkey global distribution. Nothing to configure, Azure will replicate your data across the globe.
- Multi-model + multi-API. One service, multiple APIs. Use SQL, JavaScript, Gremlin, MongoDB, Azure Table Storage, in other words, use whatever.
- Limitless elastic scale around the globe. No explanation needed. Pay only for what you use.
- Multiple, well-defined consistency choices. That’s an interesting one. For years we’ve been using two choices for consistency: transactional (when I finish write, I want a guarantee that data is there and replicated) and eventual (as long as data is there eventually, I’m fine). Cosmo DB gives us that plus 3 flavors in between for fine-tuned replication on a planet scale.
- Guaranteed low latency at 99th percentile. Think of guaranteed <10ms reads.
- Industry-leading, enterprise-grade SLAs. 99.99% availability means that your data is guaranteed to be available around the clock with possible downtime of less than 9 seconds per day.
“That’s cool but Dynamics 365 has its roots in SQL Server, it’s inherently relational, and I don’t see how Cosmo DB can help.”
Fair enough, and I don’t see Dynamics 365 suddenly moving away from SQL either. But we know that Common Data Services (CDS) is going to play critical role in Dynamics 365 and what do we know about the underlying storage? That’s right, not much, because the keyword in CDS acronym is “Services”. I wouldn’t be surprised if CDS at some point ends up using Cosmo DB as a backend. If CDS were to use Cosmo DB, the challenge data replication for global organizations is all but solved. Welcome to global Dynamics 365.