Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Azure Cosmos DB - NoSQL In the Microsoft Cloud
1. Azure Cosmos DB
The Great NoSQL Balancing
Act in the Microsoft Cloud
{
“speaker”: “Josh Lane”,
“title”: “Azure Content Lead”,
“company”: “cloudacademy.com”,
“twitter”: “@jplane”
}
5. How About This Instead?
Acknowledge
Choice is good… but
all choices
represent some
compromise
Choose!
Make a deliberate
choice
Goals
Meet requirements,
but also minimize
compromises
6. Purpose-built to solve real-world challenges of
data at scale
2010 – “Project Florence”
Elastic, global scale of throughput and storage
Predictable, low-latency reads and writes
Resource-governed architecture
Highly available and SLA-backed
Minimize/eliminate infrastructure burdens
Developer-friendly… multiple data models, APIs,
consistency options
Azure Cosmos DB
15. Availability
Single-click replication into any/all of 38+ datacenters
Failover
Automated and prioritized
Manual (for DR testing, “follow the clock”, etc.)
Multiple replicas within each configured region
Logical or physical API endpoints
Logical – transparent multi-homing
Physical – prioritized control over connectivity
Automated backups
16. Perf and Scale
Low latency reads (10 ms) and writes
(15 ms)
SLA-backed
Topology-agnostic
Provisioned, reserved throughput
model
Request Units per second (or
minute)
You can change this as needed!
Transparent partitioning
Single write replica, multi read
replicas
18. Areas for Improvement
Pricing model
“Something something great power something
great responsibility…”
Migration quirks
Triggers are opt-in
SQL dialect is a subset
API support must be declared up-front
Partitions are “transparent”, not transparent
Change feed fidelity
Portal tooling is… v1
19. Designed for Happiness
ACID transactions (within a partition)
Automated and configurable indexing
Change feed
Geospatial data types
Local emulator
JavaScript sprocs, triggers, UDFs
Default encryption at rest + in transit
Configurable firewall
Configurable TTL
Azure Function binding
ODBC driver
LINQ (.NET)
20. Baseless
Speculation on
the Future
• More and richer query APIs
• More and better Azure ecosystem integration
• Architectural building blocks
• CQRS
• Event sourcing
• Stateful services
• More runtime integration
• .NET Core
• Azure Functions runtime
• Pricing innovation
• Spot market
• Secondary market
• ML-based resource governance
• Convergence with SQL Database
Let’s begin with this basic assertion… probably not controversial.
Let’s also agree that while this may be true, the degree of compromise can differ widely, between competing options.
Consider the range of data-oriented choices we face on a typical web project…
Consider the things we do in the name of a better user experience…
More broadly, beyond feature details… are we simply falling into our choice of database implicitly? Or are we making an explicit decision based on project and team fit?
In this vein, and with this framework of thought, that I introduce Azure Cosmos DB…
I like to refer to the work done by the Cosmos DB team as “the great balancing act”, since Cosmos DB is an ever-evolving service (will adapt and grow in capability over time)
DocDB customers became Cosmos DB customers overnite
Further evidence of the deliberate thought and effort made by the Cosmos DB team
Not merely making data available at broad scale, but making guaranteed, SLA-backed access to that data available at broad and configurable scale.
Choose on an account- or read-operation basis
Great news… virtually all of this is value-add above the core service offering, and can be improved upon over time
Pricing model: RU/m is a recent addition