experiences.microsoft.fr #experiences17
Transcript of experiences.microsoft.fr #experiences17
experiences.microsoft.fr #experiences17
un service de base de données multi-modèles globalement distribuée
L’information n’est pas une connaissance. La seule source de connaissance est l’expérience - Albert Einstein
Agenda
Le Cosmos, c’est quoi ?
• Histoire de la physique
• Anaximandre, Newton, Einstein
• La physique relativiste
• relativité restreinte
• relativité générale
• La physique quantique
• La théorie du Big bang
• Les trous noirs et les ondes gravitanionnelles
Pourquoi a ton besoin de
Cosmos DB?
Aucun problème ne peut être résolu sans changer le niveau de conscience qui l’a engendré – Albert Einstein
“Les espèces qui survivent ne sont pas les espèces les plus fortes, ni les plus intelligentes, mais celles qui s’adaptent le mieux aux changements.”
Qu’est ce que Cosmos DB?
Si vous ne pouvez pas l’expliquer simplement, c’est que vous ne l’avez pas suffisamment bien compris – Albert Einstein
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Cosmos DB – Plus en détails
La logique te mènera de A à Z; L’imagination te mènera partout – Albert Einstein
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Globally-distribute data around the world
Turn-key global distribution
Automatically replicate all your data around the world – across more regions than Amazon and Google combined
Global distribution from the ground-up
Turnkey Global distribution
Transparent and automatic multi-region
replication
• Associate any number of geographical regions with
your database account, at any time
• Policy based geo-fencing
Multi-homing APIs
• All endpoints are logical, by default
• Apps don’t need to be redeployed during regional
failover
• Apps can also access physical endpoints if needed
Designed for high availability
• Allows for dynamically setting priorities to regions
• Test the end-to-end availability for the entire app
(beyond just the database) by simulating regional
disasters (via API)
• Support for both policy based (manual and automatic) failover
Foundational Azure service – available in all Azure regions by default
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Resource Governed Stack• Replica density, COGS and SLA, all
depend on stringent resource governance across the entire stack
• Request Unit (RU)• Rate based currency • Normalized across various
access methods• Available for second (RU/s)
granularity
• All engine operations are finely calibrated
• Automated perf and RG runs every four hours
• System designed to independently scale storage and
throughput
• Transparent server side partition management and
routing
• Automatically indexed SSD storage
• Automatic global distribution of data across any
number of Azure regions
• Optionally evict old data using built-in support for TTL
Elastically scalable storage
Transaction
data
Web/content data
Social data/Machine-generated data
KB
Data variety/complexity
Data
vo
lum
e
Log
10 s
cale
115
Elastically scale throughput from 10 to 100s of
millions of requests/sec across multiple regions
Customers pay by the hour for the provisioned
throughput
Transparent server side partition management and
routing
Support for requests/sec for different workloads
9 PM PST
Less throughput
More throughput
More throughput
Less throughput
11 PM PST
Pro
visi
oned
req
uest
/ s
ec
Time
12000000
10000000
8000000
6000000
4000000
2000000
Nov 2016 Dec 2016
Black Friday
Hourly throughput (request/sec)
Elastically scalable throughput, globally
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Guaranteed low latency – Value to Customer
Relevance/Value
Timems sec min hours Day 1 Day 2 Weeks 1
Event occurs
where Cosmos DB fits
La distinction entre le passé, le présent, le futur n’est qu’une illusion, aussi tenace soit-elle – Albert Einstein
Si on arrêtait le temps, combien de temps on l’arrêterait ?
Reads and writes served from local region
Guaranteed millisecond latency worldwide
Write optimized, latch-free database engine
Automatically indexed SSD storage Synchronous and automatic indexing at sustained ingestion rates
No schema or index management needed
No schema versioning needed
No schema migration needed
All of this is highly relevant for rapidly evolving apps
in a globally distributed setup
Guaranteed Low Latency
Reads (1KB) Indexed writes (1KB)
Read < 2 ms
Writes < 6 ms
Read < 10 ms
Writes < 15 ms
99%50%
Azure Cosmos DBDatabase that enables apps to “beat the speed of light”!
Beam of light = 80ms
Azure Cosmos DB < 10ms
Latency guarantees world-wide (< 10 ms Read, < 15ms Write for 99% of requests)
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Choices of Consistency
Choose from five defined consistency levels for low latency and high availability
Strong Bounded-stateless Session Consistent prefix Eventual
Most real-life applications do not fall into these two extremes
Choices of Consistency
5 well-defined consistency levels for low latency and high availability
Consistency Level Guarantees
Strong Linearizability
Bounded Staleness Reads lag behind writes by k prefixes or t interval
SessionMonotonic reads, monotonic writes, read-your-writes,
write-follows-reads
Consistent PrefixUpdates returned are some prefix of all the
updates, with no gaps
Eventual Eventually consistent
4
18
73
2 3
Production Usage (%)
Strong
BoundedStalenessSession
ConsistentPrefixEventual
Azure Cosmos DB
01
Strong
Bounded
Staleness
Session
Consistent
Prefix
Eventual
5 well-defined consistency models
Clear Tradeoffs
• Latency
• Availability
• Throughput
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Latency @ 99th
percentile SLA
Throughput SLA
Consistency SLA
Availability SLA
2
4
3
1
Industry-Leading, Comprehensive SLAs6
High Availability
Performance Latency
Performance Throughput
Data Consistency
Only database with comprehensive SLAs across 4 dimensions
Microsoft Azure
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
Why Multi-Model?
Transaction
data
Web/content data
Social data/Machine-generated data
KB
Data variety/complexity
Data
vo
lum
e
Log
10 s
cale
115
Who Wants to Have 3-5 Different Backend Databases?
Native Support for Multiple Data Models
• Database engine operates on atom-record-sequence (ARS) based type system– All data models are efficiently translated to ARS
• API and wire protocols are supported via extensible modules
• Instance of a given data model can be materialized as trees
• Graph, documents, key-value, column-family, … more to come
KEY-VALUE COLUMN-FAMILY DOCUMENT GRAPH
Column-familyDocument
Graph
Turnkey global distribution
Elastic scale out
of storage & throughput
Guaranteed low latency at the 99th percentile
Comprehensive SLAs
Five well-defined consistency models
Table API
Key-value
Azure Cosmos DBA globally distributed, massively scalable, multi-model database service
What Does our API Strategy Enable? • No recompilation needed!
• Better SLAs, lower TCO, enterprise grade security and amazing capabilities
without requiring to change the app code or data access layer
• Leverage the existing OSS toolchain and ecosystem and development IT
expertise
• Lift and shift from on-premises to cloud
• No vendor lock-in
• Symmetric on-premises and cloud database development – Use popular on-premises database (e.g. Cassandra) on premises and Cosmos DB on Azure
Native Support for Multiple APIs, formats & Wire Protocols
TCP (SSL), HTTPS
Cosmos DB Database Engine
SQL JavaScript MongoDB Tables Gremlin Cassandra
Query IL Database Runtime
Java .NET
Native Cosmos DB client drivers
Java
.NETRuby
…
Native MongoDB client drivers
…
……
…
…
HBase …
Azure Cosmos DB Change FeedThis feed can be used to listen for modifications to data within the collection and perform a variety of actions.
Change log
Cosmos DB By Industries (Our Customers)
Retail
Manufacturing
Government / Edu
Automotive/IoT
Financial Services
Professional Services
Jet.com flies throughbusy retail peaks
Black Friday, Cyber Monday, and other high traffic periods threaten service quality
• Immediate inventory updates
• Real-time change feeds
• Low latency for swift processing
Retail and e-commerce
Personalized services score big with Real Madrid fans
450M global supporters want direct engagement with the football club
• Tunable consistency settings for rapid insight
• Customized experiences through digital
interactions
• High app performance worldwide
Personalization
Next Games RPG springs to life with Azure Cosmos DB
Need for a DB that to seamlessly respond to massive scale and performance demands
• Multi-player game play with low latency
• Instant capacity scaling from launch onward
• Uninterrupted global user experience
Gaming
Next steps + Please Reach Out to the Product Team• Getting Started
• cosmosdb.com• portal.azure.com• aka.ms/cosmosdb• Downloadable service emulator (aka.ms/CosmosDB-emulator)• Try Cosmos DB – free time-limited Cosmos DB experience
• Technical Overview -> https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-cosmos-db/
• Schema Agnostic Indexing, VLDB 2015 -> http://www.vldb.org/pvldb/vol8/p1668-shukla.pdf
• Follow #CosmosDB on Twitter• @azurecosmosdb• @rimmanehme• @dharmashukla