SlideShare ist ein Scribd-Unternehmen logo
1 von 92
Quick trip around the Cosmos
Things every astronaut supposed to
know
Rafał Hryniewski
@r_hryniewskifb.me/hryniewskinet
Quick trip around the Cosmos
Things every astronaut supposed to
know
Agenda
Cosmos DB origin and (very brief) story
Why Cosmos DB
Available data models
Consistency levels
Scaling, Pricing and Georeplication
Service Level Agreements
Getting started (for free)
Glossary - ACID
A – Atomicity
C – Consistency
I – Isolation
D - Durability
Glossary – CAP Theorem
C – Consistency
A – Availability
P – Partition Tolerant
In the beginning there was only chaos...
2010 – Project Florence goals
Scale elastically
Low read and write latency
At least 99,99% availability
Intuitive and predictable concurrency
Comprehensive SLA
No schema/index management
Multiple models
Low costs
https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-cosmos-db/
V 2017 – Cosmos DB
What already lives under the clouds?
Do we need another database?
https://db-engines.com/en/ranking
Why don’t we stick with MS SQL?
PaaS databases on Azure
Azure SQL
Redis
PostgreSQL
MySQL
Cosmos DB
http://hryniewski.net/2017/05/28/paas-databases-available-on-azure/
Any other database that can be installed on VM
When I don’t love SQL anymore?
So... Should we all abandon earth?
Embrace the Cosmos
What is Cosmos DB?
Industry’s first globally distributed, multi-model
database service
Multi-model database?!
Cosmos DB structure
Database tools we all love
Stored Procedures
Triggers
User Defined Functions (can be used in SQL syntax)
All in JavaScript
Four models, Four APIs
Document Database with Document DB SQL(like) API
Document Database with Mongo DB API
Key-Value Database with Azure Table Storage API
Graph database with (Tinkerpop) Gremlin API
One database to rule them all
Document DB – data format sample
[
{
"id": "59be9f01b7cb3b8c0fffd52b",
"firstName": "Camacho",
"lastName": "Castro",
"birthday": "2016-10-14T03:53:19 -02:00",
"project": "in",
"_rid": "DJdRAIh6aAAGAAAAAAAAAA==",
"_self":
"dbs/DJdRAA==/colls/DJdRAIh6aAA=/docs/DJdRAIh6aAAGAAAAAAAAAA==/",
"_etag": ""4200c424-0000-0000-0000-59bea13d0000"",
"_attachments": "attachments/",
"_ts": 1505665341
},
...
]
Document DB – query sample
SELECT * FROM Collection c
SELECT * FROM Collection c WHERE c.gender = 'female’
SELECT c["firstName"] AS FirstName, c["lastName"] AS
LastName FROM Collection c
SELECT {"FirstName" : c.firstName, "LastName": c.lastName}
AS PersonalData FROM Collection c
Table Storage – data format sample
Table Storage - query sample
Table Storage - query sample (portal)
Table Storage - query sample (SDK)
Gremlin – data format sample (GraphSON)
{"id": "33843a67-0da8-4dde-81ff-eff607882f23",
"label": "59be9f016f12f58cd5eb0cac",
"type": "vertex",
"properties": {
"firstName": [
{
"id": "742b60bd-cd75-4ec1-b288-c694d88c14ed",
"value": "Santana"
}
],
"lastName": [
{
"id": "70ed7300-cc4d-41c4-8af9-ba65445898ee",
"value": "Peters"
}
],
"gender": [
{
"id": "78b124d0-73af-4ff7-8f93-881377086568",
"value": "male"
}
],
"birthday": [
{
"id": "9140a304-a073-4c55-a86f-f3206d4ecbd9",
"value": "2016-08-15T10:10:17 -02:00"
}
],
"project": [
{
"id": "6cc7ffd1-6427-49a0-85c2-e1f5b1bbcd42",
"value": "elit"
}
]}
Gremlin – data format
Gremlin – query sample
g.V()
g.V().has('gender', 'female')
g.V().valueMap('firstName', 'lastName')
Gremlin – everything can relate with everything
Gremlin – adding edges 101
g.V().has('project', 'magna’) //WHO
.addE('InLoveIn’) //RELATES HOW
.to(V().has('gender', 'female’)) //TO WHOM
Gremlin – traversing graphs 101
g.V().has('firstName', 'Ivy').in('InLoveIn').values('birthday’)
g.V().has('firstName', 'Davenport').out('InLoveIn').values('project')
Mongo DB – data format sample
[
{
"_id" : ObjectId("59beaaa47d85940950b876fd"),
"id" : "59be9f016f12f58cd5eb0cac",
"firstName" : "Santana",
"lastName" : "Peters",
"gender" : "male",
"birthday" : "2016-08-15T10:10:17 -02:00",
"project" : "elit"
},
...
]
Mongo DB – query sample
db.mycollection.find()
db.mycollection.find({gender : "female"})
db.mycollection.find({}, {firstName: 1, lastName: 1, _id:0})
Everything is JSON
Available SDKs
https://docs.microsoft.com/en-us/azure/cosmos-db/
Non-Azure Equivalents
Document DB - Mongo DB
Mongo DB – Mongo DB (Captain obvious to the rescue!)
Azure Table Storage – Cassandra, HBase
Graph API - Neo4J, Titan
Choose right tool for the job
Future
Consistency
Strong consistency & eventual consistency
Strong Consistency – always reading current data
Eventual Consistency – data will be consistent... eventually
There are other consistency levels? Like what?
Somewhat consistent?
5 of them in Cosmos DB
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Strong consistency
+ B
A + C
A
ABA ABC
ABC
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Strong consistency
You can use only one Azure region with strong consistency
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Bounded-staleness
+ B
A + C
A
AA ABC
ABAB
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Bounded-staleness
Introduces acceptable lag for time or number of item versions
Data will manage consistent ordering except while in
staleness window
Georeplication to other Azure region is available if staleness
window is more than 100 000 operations or 5 minutes
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Session
+ B
A + C
AB
AA AC
AB
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
ACB
Session
Scoped to a client session
Reading own writes in consistent order in own session
Better throughput and latency than strong and bounded
staleness consistency levels while managing great session-
scoped consistency
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Consistent prefix
+ B
A + C
AB
ABCA ABC
ABCD
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
AB
+ D
Consistent prefix
Data may not be consistent, but will always be readed in
updates order
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Eventual consistency
+ B
A + C
AD
ACA AC
ABD
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
AB
+ D
ABCD
Eventual consistency
Cheapest writes
Best in terms of latency and throughput
You can read data older than you’ve seen just a second ago
But data will be consinstent...eventually
https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
Consistency can be changed per request
Just add x-ms-consistency-level header to your request
Or look for this option in your SDK
Scalability
Request Units
Every request costs certain amount of Request Units
It depends on consistency and request itself
You’re paying for provisioning n RU per second
Request Unit is throughput metric
How much is request unit
~1kb read – 1RU
~1kb query by id – 2,5 RU
~1kb create – 15RU
~1kb worth of JSON data
{"id": "59b413f6112b5af91a117944",
"guid": "cf9aa26f-f863-4adf-b6bd-
f4419427219c",
"isActive": false,
"balance": "$1,053.74",
"picture": "http://placehold.it/32x32.jpg",
"age": 32,
"eyeColor": "blue",
"name": "Lynette Campos",
"gender": "female",
"company": "XURBAN",
"email": "lynettecampos@xurban.com",
"secondaryEmail":"lynettecampos@seconda
ry.com"
"phone": "+1 (826) 428-2753",
"address": "511 Rodney Street, Libertytown,
Guam, 5768",
"about": "Sit sunt est Lorem dolore id
magna. Irure non proident culpa dolor enim.
Ex veniam laborum consectetur pariatur
mollit elit non commodo incididunt Lorem
labore. Qui labore ut excepteur id laboris
adipisicing ullamco et nulla irure nostrud
exercitation adipisicing excepteur.
Commodo duis incididunt ea in anim veniam
eiusmod deserunt. In incididunt duis
laborum in.rn",
"registered": "2015-12-15T08:48:18 -01:00",
"tags":
["lorem","ipsum","dolor","nisi","magna","cul
pa","pariatur","tempor"],
"favoriteFruit": "banana",
"favouriteProgrammingLanguage":"C#"}
How much does it cost?
How much does it cost?
100 RU/s – ~5,02 EUR monthly
1 GB of storage (SSD) - ~0.21 EUR monthly
Minimum 400RU/s (~20.08 EUR monthly)
Each replica multiples the amount!
What if I use all of my Request Units?
What if I use all of my Request Units
HTTP Status 429
Status Line: RequestRateTooLarge
x-ms-retry-after-ms :100
What’s the limit
What’s the limit
Minimum request units that can be provisioned is 400RU/s
After 2500 RU/s – partition key is required
After 10000 RU/s – you need to contact support
Partitioning
What partition key should we choose?
{
"id": 9,
"firstName": "Rafał",
"lastName": "Hryniewski",
"birthday": "16-05-1988",
"project": "Hello world!"
}
Let’s go global
Let’s go global
~725 documents
West US~0,75-1,10s
West Europe 0,20-0,30s
Azure regions
SLA
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
SLA
SLA – Service Level Agreement
Service Credit - Service Fee * Service Credit Percent
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Availability SLA
SLA for failed requests percent
99,99% Availability or 10% Service Credit
99% Availability or 25% Service Credit
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Throughput SLA
You will be available to use RU/s that you’ve provisioned
99,99% Throughput or 10% Service Credit
99% Throughput or 25% Service Credit
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Consistency SLA
Your reads and writes will be executed within chosen
consistency level
99,99% Consistency Attainment or 10% Service Credit
99% Consistency Attainment or 25% Service Credit
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Latency SLA
Guarantees 10ms latency for reading up to 1kb document in
same region
Guarantees 15ms latency for writing up to 1kb document in
same region
99,99% Latency Attainment or 10% Service Credit
99% Latency Attainment or 25% Service Credit
https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Getting started
Try for free
https://azure.microsoft.com/en-us/try/cosmosdb/
Free Cosmos DB for up to 48h
Dev essentials
https://www.visualstudio.com/dev-essentials/
25 EUR monthly for Azure
Cosmos DB Emulator
https://docs.microsoft.com/en-us/azure/cosmos-db/local-
emulator
Free tool for offline cosmos development
It’s so awesome! Isn’t it?
Links
CosmosDB Technical Overview
• https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-
cosmos-db/
Database popularity ranking
• https://db-engines.com/en/ranking
PaaS Database on Azure
• http://hryniewski.net/2017/05/28/paas-databases-available-on-azure/
CosmosDB documentation
• https://docs.microsoft.com/en-us/azure/cosmos-db/
CosmosDB SLAs
• https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
Questions?
Thank you!
@r_hryniewskifb.me/hryniewskinet

Weitere ähnliche Inhalte

Was ist angesagt?

Storing and manipulating graphs in HBase
Storing and manipulating graphs in HBaseStoring and manipulating graphs in HBase
Storing and manipulating graphs in HBaseDan Lynn
 
Hive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TDHive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TDSATOSHI TAGOMORI
 
Webinar: Deploying MongoDB to Production in Data Centers and the Cloud
Webinar: Deploying MongoDB to Production in Data Centers and the CloudWebinar: Deploying MongoDB to Production in Data Centers and the Cloud
Webinar: Deploying MongoDB to Production in Data Centers and the CloudMongoDB
 
MariaDB and Clickhouse Percona Live 2019 talk
MariaDB and Clickhouse Percona Live 2019 talkMariaDB and Clickhouse Percona Live 2019 talk
MariaDB and Clickhouse Percona Live 2019 talkAlexander Rubin
 
Debugging & Tuning in Spark
Debugging & Tuning in SparkDebugging & Tuning in Spark
Debugging & Tuning in SparkShiao-An Yuan
 
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalVigyan Jain
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarOrient Technologies
 
MongoDB Auto-Sharding at Mongo Seattle
MongoDB Auto-Sharding at Mongo SeattleMongoDB Auto-Sharding at Mongo Seattle
MongoDB Auto-Sharding at Mongo SeattleMongoDB
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010Karoly Negyesi
 
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big Data
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big DataAWS Summit Tel Aviv - Startup Track - Data Analytics & Big Data
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big DataAmazon Web Services
 
MongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMoshe Kaplan
 
Data warehouse or conventional database: Which is right for you?
Data warehouse or conventional database: Which is right for you?Data warehouse or conventional database: Which is right for you?
Data warehouse or conventional database: Which is right for you?Data Con LA
 
OSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross LawleyOSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross LawleyNETWAYS
 
Hypertable - massively scalable nosql database
Hypertable - massively scalable nosql databaseHypertable - massively scalable nosql database
Hypertable - massively scalable nosql databasebigdatagurus_meetup
 
Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016 Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016 Grant McAlister
 
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...MongoDB
 
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOAltinity Ltd
 
Database Architectures and Hypertable
Database Architectures and HypertableDatabase Architectures and Hypertable
Database Architectures and Hypertablehypertable
 
Hypertable
HypertableHypertable
Hypertablebetaisao
 
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016DataStax
 

Was ist angesagt? (20)

Storing and manipulating graphs in HBase
Storing and manipulating graphs in HBaseStoring and manipulating graphs in HBase
Storing and manipulating graphs in HBase
 
Hive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TDHive dirty/beautiful hacks in TD
Hive dirty/beautiful hacks in TD
 
Webinar: Deploying MongoDB to Production in Data Centers and the Cloud
Webinar: Deploying MongoDB to Production in Data Centers and the CloudWebinar: Deploying MongoDB to Production in Data Centers and the Cloud
Webinar: Deploying MongoDB to Production in Data Centers and the Cloud
 
MariaDB and Clickhouse Percona Live 2019 talk
MariaDB and Clickhouse Percona Live 2019 talkMariaDB and Clickhouse Percona Live 2019 talk
MariaDB and Clickhouse Percona Live 2019 talk
 
Debugging & Tuning in Spark
Debugging & Tuning in SparkDebugging & Tuning in Spark
Debugging & Tuning in Spark
 
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-FinalSizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
Sizing MongoDB on AWS with Wired Tiger-Patrick and Vigyan-Final
 
Presentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - WebinarPresentation of OrientDB v2.2 - Webinar
Presentation of OrientDB v2.2 - Webinar
 
MongoDB Auto-Sharding at Mongo Seattle
MongoDB Auto-Sharding at Mongo SeattleMongoDB Auto-Sharding at Mongo Seattle
MongoDB Auto-Sharding at Mongo Seattle
 
MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010MongoDB San Francisco DrupalCon 2010
MongoDB San Francisco DrupalCon 2010
 
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big Data
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big DataAWS Summit Tel Aviv - Startup Track - Data Analytics & Big Data
AWS Summit Tel Aviv - Startup Track - Data Analytics & Big Data
 
MongoDB Best Practices for Developers
MongoDB Best Practices for DevelopersMongoDB Best Practices for Developers
MongoDB Best Practices for Developers
 
Data warehouse or conventional database: Which is right for you?
Data warehouse or conventional database: Which is right for you?Data warehouse or conventional database: Which is right for you?
Data warehouse or conventional database: Which is right for you?
 
OSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross LawleyOSDC 2012 | Scaling with MongoDB by Ross Lawley
OSDC 2012 | Scaling with MongoDB by Ross Lawley
 
Hypertable - massively scalable nosql database
Hypertable - massively scalable nosql databaseHypertable - massively scalable nosql database
Hypertable - massively scalable nosql database
 
Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016 Amazon RDS for PostgreSQL - PGConf 2016
Amazon RDS for PostgreSQL - PGConf 2016
 
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
MongoDB .local Paris 2020: Adéo @MongoDB : MongoDB Atlas & Leroy Merlin : et ...
 
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEOClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
ClickHouse tips and tricks. Webinar slides. By Robert Hodges, Altinity CEO
 
Database Architectures and Hypertable
Database Architectures and HypertableDatabase Architectures and Hypertable
Database Architectures and Hypertable
 
Hypertable
HypertableHypertable
Hypertable
 
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
Lambda Architecture with Cassandra (Vaibhav Puranik, GumGum) | C* Summit 2016
 

Ähnlich wie Quick trip around the Cosmos - Things every astronaut supposed to know

[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...Andrew Liu
 
Deep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdfDeep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdfShaikAsif83
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Amazon Web Services
 
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...Chris Fregly
 
High concurrency,
Low latency analytics
using Spark/Kudu
 High concurrency,
Low latency analytics
using Spark/Kudu High concurrency,
Low latency analytics
using Spark/Kudu
High concurrency,
Low latency analytics
using Spark/KuduChris George
 
Virtualized Platform Migration On A Validated System
Virtualized Platform Migration On A Validated SystemVirtualized Platform Migration On A Validated System
Virtualized Platform Migration On A Validated Systemgazdagf
 
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013Amazon Web Services
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Andre Essing
 
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them AllScylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them AllScyllaDB
 
OSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBOSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBBradley Holt
 
Hadoop + Cassandra: Fast queries on data lakes, and wikipedia search tutorial.
Hadoop + Cassandra: Fast queries on data lakes, and  wikipedia search tutorial.Hadoop + Cassandra: Fast queries on data lakes, and  wikipedia search tutorial.
Hadoop + Cassandra: Fast queries on data lakes, and wikipedia search tutorial.Natalino Busa
 
Azure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep DiveAzure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep DiveAndre Essing
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...Amazon Web Services
 
KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!Guido Schmutz
 
Tech-Spark: Exploring the Cosmos DB
Tech-Spark: Exploring the Cosmos DBTech-Spark: Exploring the Cosmos DB
Tech-Spark: Exploring the Cosmos DBRalph Attard
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon RedshiftAmazon Web Services
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Jonathon Brouse
 
Getting started with Amazon Redshift
Getting started with Amazon RedshiftGetting started with Amazon Redshift
Getting started with Amazon RedshiftAmazon Web Services
 

Ähnlich wie Quick trip around the Cosmos - Things every astronaut supposed to know (20)

[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
[PASS Summit 2016] Blazing Fast, Planet-Scale Customer Scenarios with Azure D...
 
Deep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdfDeep_dive_on_Amazon_Neptune_DAT361.pdf
Deep_dive_on_Amazon_Neptune_DAT361.pdf
 
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
Disaster Recovery Site on AWS - Minimal Cost Maximum Efficiency (STG305) | AW...
 
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
PipelineAI Optimizes Your Enterprise AI Pipeline from Distributed Training to...
 
High concurrency,
Low latency analytics
using Spark/Kudu
 High concurrency,
Low latency analytics
using Spark/Kudu High concurrency,
Low latency analytics
using Spark/Kudu
High concurrency,
Low latency analytics
using Spark/Kudu
 
Virtualized Platform Migration On A Validated System
Virtualized Platform Migration On A Validated SystemVirtualized Platform Migration On A Validated System
Virtualized Platform Migration On A Validated System
 
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013
Getting Maximum Performance from Amazon Redshift (DAT305) | AWS re:Invent 2013
 
Azure CosmosDb
Azure CosmosDbAzure CosmosDb
Azure CosmosDb
 
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
Azure Cosmos DB - NoSQL Strikes Back (An introduction to the dark side of you...
 
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them AllScylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
Scylla Summit 2022: ScyllaDB Rust Driver: One Driver to Rule Them All
 
OSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDBOSCON 2011 Learning CouchDB
OSCON 2011 Learning CouchDB
 
Hadoop + Cassandra: Fast queries on data lakes, and wikipedia search tutorial.
Hadoop + Cassandra: Fast queries on data lakes, and  wikipedia search tutorial.Hadoop + Cassandra: Fast queries on data lakes, and  wikipedia search tutorial.
Hadoop + Cassandra: Fast queries on data lakes, and wikipedia search tutorial.
 
Azure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep DiveAzure Cosmos DB - Technical Deep Dive
Azure Cosmos DB - Technical Deep Dive
 
Data Pipeline at Tapad
Data Pipeline at TapadData Pipeline at Tapad
Data Pipeline at Tapad
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
 
KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!KSQL - Stream Processing simplified!
KSQL - Stream Processing simplified!
 
Tech-Spark: Exploring the Cosmos DB
Tech-Spark: Exploring the Cosmos DBTech-Spark: Exploring the Cosmos DB
Tech-Spark: Exploring the Cosmos DB
 
Getting Started with Amazon Redshift
Getting Started with Amazon RedshiftGetting Started with Amazon Redshift
Getting Started with Amazon Redshift
 
Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017Terraform at Scale - All Day DevOps 2017
Terraform at Scale - All Day DevOps 2017
 
Getting started with Amazon Redshift
Getting started with Amazon RedshiftGetting started with Amazon Redshift
Getting started with Amazon Redshift
 

Mehr von Rafał Hryniewski

DevSecOps - security all the way
DevSecOps - security all the wayDevSecOps - security all the way
DevSecOps - security all the wayRafał Hryniewski
 
DevSecOps - Security all the way
DevSecOps - Security all the wayDevSecOps - Security all the way
DevSecOps - Security all the wayRafał Hryniewski
 
Large scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaLarge scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaRafał Hryniewski
 
Meet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DBMeet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DBRafał Hryniewski
 
Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...Rafał Hryniewski
 
Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?Rafał Hryniewski
 
Azure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerAzure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerRafał Hryniewski
 
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Rafał Hryniewski
 
ORM – The tip of an iceberg
ORM – The tip of an icebergORM – The tip of an iceberg
ORM – The tip of an icebergRafał Hryniewski
 

Mehr von Rafał Hryniewski (17)

Azure messaging
Azure messagingAzure messaging
Azure messaging
 
Azure developer
Azure developerAzure developer
Azure developer
 
Great webapis
Great webapisGreat webapis
Great webapis
 
DevSecOps - security all the way
DevSecOps - security all the wayDevSecOps - security all the way
DevSecOps - security all the way
 
DevSecOps - Security all the way
DevSecOps - Security all the wayDevSecOps - Security all the way
DevSecOps - Security all the way
 
Anchor modeling
Anchor modelingAnchor modeling
Anchor modeling
 
Large scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with KafkaLarge scale, distributed and reliable messaging with Kafka
Large scale, distributed and reliable messaging with Kafka
 
Meet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DBMeet Gremlin – your guide through graphs in Cosmos DB
Meet Gremlin – your guide through graphs in Cosmos DB
 
Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...Shit happens – achieve extensibility, modularity and loosely coupled architec...
Shit happens – achieve extensibility, modularity and loosely coupled architec...
 
Web app security essentials
Web app security essentialsWeb app security essentials
Web app security essentials
 
Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?Public speaking - why am I doing this to myself and why you should too?
Public speaking - why am I doing this to myself and why you should too?
 
Azure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL ServerAzure SQL - more or/and less than SQL Server
Azure SQL - more or/and less than SQL Server
 
Blazor
BlazorBlazor
Blazor
 
Shodan
ShodanShodan
Shodan
 
Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC Essential security measures in ASP.NET MVC
Essential security measures in ASP.NET MVC
 
.NET, Alexa and me
.NET, Alexa and me.NET, Alexa and me
.NET, Alexa and me
 
ORM – The tip of an iceberg
ORM – The tip of an icebergORM – The tip of an iceberg
ORM – The tip of an iceberg
 

Kürzlich hochgeladen

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 

Kürzlich hochgeladen (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

Quick trip around the Cosmos - Things every astronaut supposed to know

  • 1.
  • 2. Quick trip around the Cosmos Things every astronaut supposed to know
  • 4.
  • 5.
  • 6. Quick trip around the Cosmos Things every astronaut supposed to know
  • 7. Agenda Cosmos DB origin and (very brief) story Why Cosmos DB Available data models Consistency levels Scaling, Pricing and Georeplication Service Level Agreements Getting started (for free)
  • 8. Glossary - ACID A – Atomicity C – Consistency I – Isolation D - Durability
  • 9. Glossary – CAP Theorem C – Consistency A – Availability P – Partition Tolerant
  • 10.
  • 11.
  • 12. In the beginning there was only chaos...
  • 13. 2010 – Project Florence goals Scale elastically Low read and write latency At least 99,99% availability Intuitive and predictable concurrency Comprehensive SLA No schema/index management Multiple models Low costs https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure-cosmos-db/
  • 14. V 2017 – Cosmos DB
  • 15. What already lives under the clouds?
  • 16. Do we need another database? https://db-engines.com/en/ranking
  • 17. Why don’t we stick with MS SQL?
  • 18. PaaS databases on Azure Azure SQL Redis PostgreSQL MySQL Cosmos DB http://hryniewski.net/2017/05/28/paas-databases-available-on-azure/
  • 19. Any other database that can be installed on VM
  • 20. When I don’t love SQL anymore?
  • 21. So... Should we all abandon earth?
  • 24. Industry’s first globally distributed, multi-model database service
  • 27. Database tools we all love Stored Procedures Triggers User Defined Functions (can be used in SQL syntax) All in JavaScript
  • 28. Four models, Four APIs Document Database with Document DB SQL(like) API Document Database with Mongo DB API Key-Value Database with Azure Table Storage API Graph database with (Tinkerpop) Gremlin API
  • 29. One database to rule them all
  • 30. Document DB – data format sample [ { "id": "59be9f01b7cb3b8c0fffd52b", "firstName": "Camacho", "lastName": "Castro", "birthday": "2016-10-14T03:53:19 -02:00", "project": "in", "_rid": "DJdRAIh6aAAGAAAAAAAAAA==", "_self": "dbs/DJdRAA==/colls/DJdRAIh6aAA=/docs/DJdRAIh6aAAGAAAAAAAAAA==/", "_etag": ""4200c424-0000-0000-0000-59bea13d0000"", "_attachments": "attachments/", "_ts": 1505665341 }, ... ]
  • 31. Document DB – query sample SELECT * FROM Collection c SELECT * FROM Collection c WHERE c.gender = 'female’ SELECT c["firstName"] AS FirstName, c["lastName"] AS LastName FROM Collection c SELECT {"FirstName" : c.firstName, "LastName": c.lastName} AS PersonalData FROM Collection c
  • 32. Table Storage – data format sample
  • 33. Table Storage - query sample
  • 34. Table Storage - query sample (portal)
  • 35. Table Storage - query sample (SDK)
  • 36. Gremlin – data format sample (GraphSON) {"id": "33843a67-0da8-4dde-81ff-eff607882f23", "label": "59be9f016f12f58cd5eb0cac", "type": "vertex", "properties": { "firstName": [ { "id": "742b60bd-cd75-4ec1-b288-c694d88c14ed", "value": "Santana" } ], "lastName": [ { "id": "70ed7300-cc4d-41c4-8af9-ba65445898ee", "value": "Peters" } ], "gender": [ { "id": "78b124d0-73af-4ff7-8f93-881377086568", "value": "male" } ], "birthday": [ { "id": "9140a304-a073-4c55-a86f-f3206d4ecbd9", "value": "2016-08-15T10:10:17 -02:00" } ], "project": [ { "id": "6cc7ffd1-6427-49a0-85c2-e1f5b1bbcd42", "value": "elit" } ]}
  • 38. Gremlin – query sample g.V() g.V().has('gender', 'female') g.V().valueMap('firstName', 'lastName')
  • 39. Gremlin – everything can relate with everything
  • 40. Gremlin – adding edges 101 g.V().has('project', 'magna’) //WHO .addE('InLoveIn’) //RELATES HOW .to(V().has('gender', 'female’)) //TO WHOM
  • 41. Gremlin – traversing graphs 101 g.V().has('firstName', 'Ivy').in('InLoveIn').values('birthday’) g.V().has('firstName', 'Davenport').out('InLoveIn').values('project')
  • 42. Mongo DB – data format sample [ { "_id" : ObjectId("59beaaa47d85940950b876fd"), "id" : "59be9f016f12f58cd5eb0cac", "firstName" : "Santana", "lastName" : "Peters", "gender" : "male", "birthday" : "2016-08-15T10:10:17 -02:00", "project" : "elit" }, ... ]
  • 43. Mongo DB – query sample db.mycollection.find() db.mycollection.find({gender : "female"}) db.mycollection.find({}, {firstName: 1, lastName: 1, _id:0})
  • 46. Non-Azure Equivalents Document DB - Mongo DB Mongo DB – Mongo DB (Captain obvious to the rescue!) Azure Table Storage – Cassandra, HBase Graph API - Neo4J, Titan
  • 47. Choose right tool for the job
  • 50. Strong consistency & eventual consistency Strong Consistency – always reading current data Eventual Consistency – data will be consistent... eventually
  • 51. There are other consistency levels? Like what? Somewhat consistent?
  • 52. 5 of them in Cosmos DB https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 53. Strong consistency + B A + C A ABA ABC ABC https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 54. Strong consistency You can use only one Azure region with strong consistency https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 55. Bounded-staleness + B A + C A AA ABC ABAB https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 56. Bounded-staleness Introduces acceptable lag for time or number of item versions Data will manage consistent ordering except while in staleness window Georeplication to other Azure region is available if staleness window is more than 100 000 operations or 5 minutes https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 57. Session + B A + C AB AA AC AB https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels ACB
  • 58. Session Scoped to a client session Reading own writes in consistent order in own session Better throughput and latency than strong and bounded staleness consistency levels while managing great session- scoped consistency https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 59. Consistent prefix + B A + C AB ABCA ABC ABCD https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels AB + D
  • 60. Consistent prefix Data may not be consistent, but will always be readed in updates order https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 61. Eventual consistency + B A + C AD ACA AC ABD https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels AB + D ABCD
  • 62. Eventual consistency Cheapest writes Best in terms of latency and throughput You can read data older than you’ve seen just a second ago But data will be consinstent...eventually https://docs.microsoft.com/en-us/azure/cosmos-db/consistency-levels
  • 63. Consistency can be changed per request Just add x-ms-consistency-level header to your request Or look for this option in your SDK
  • 65. Request Units Every request costs certain amount of Request Units It depends on consistency and request itself You’re paying for provisioning n RU per second Request Unit is throughput metric
  • 66. How much is request unit ~1kb read – 1RU ~1kb query by id – 2,5 RU ~1kb create – 15RU
  • 67. ~1kb worth of JSON data {"id": "59b413f6112b5af91a117944", "guid": "cf9aa26f-f863-4adf-b6bd- f4419427219c", "isActive": false, "balance": "$1,053.74", "picture": "http://placehold.it/32x32.jpg", "age": 32, "eyeColor": "blue", "name": "Lynette Campos", "gender": "female", "company": "XURBAN", "email": "lynettecampos@xurban.com", "secondaryEmail":"lynettecampos@seconda ry.com" "phone": "+1 (826) 428-2753", "address": "511 Rodney Street, Libertytown, Guam, 5768", "about": "Sit sunt est Lorem dolore id magna. Irure non proident culpa dolor enim. Ex veniam laborum consectetur pariatur mollit elit non commodo incididunt Lorem labore. Qui labore ut excepteur id laboris adipisicing ullamco et nulla irure nostrud exercitation adipisicing excepteur. Commodo duis incididunt ea in anim veniam eiusmod deserunt. In incididunt duis laborum in.rn", "registered": "2015-12-15T08:48:18 -01:00", "tags": ["lorem","ipsum","dolor","nisi","magna","cul pa","pariatur","tempor"], "favoriteFruit": "banana", "favouriteProgrammingLanguage":"C#"}
  • 68. How much does it cost?
  • 69. How much does it cost? 100 RU/s – ~5,02 EUR monthly 1 GB of storage (SSD) - ~0.21 EUR monthly Minimum 400RU/s (~20.08 EUR monthly) Each replica multiples the amount!
  • 70. What if I use all of my Request Units?
  • 71. What if I use all of my Request Units HTTP Status 429 Status Line: RequestRateTooLarge x-ms-retry-after-ms :100
  • 73. What’s the limit Minimum request units that can be provisioned is 400RU/s After 2500 RU/s – partition key is required After 10000 RU/s – you need to contact support
  • 75. What partition key should we choose? { "id": 9, "firstName": "Rafał", "lastName": "Hryniewski", "birthday": "16-05-1988", "project": "Hello world!" }
  • 77. Let’s go global ~725 documents West US~0,75-1,10s West Europe 0,20-0,30s
  • 80. SLA SLA – Service Level Agreement Service Credit - Service Fee * Service Credit Percent https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
  • 81. Availability SLA SLA for failed requests percent 99,99% Availability or 10% Service Credit 99% Availability or 25% Service Credit https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
  • 82. Throughput SLA You will be available to use RU/s that you’ve provisioned 99,99% Throughput or 10% Service Credit 99% Throughput or 25% Service Credit https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
  • 83. Consistency SLA Your reads and writes will be executed within chosen consistency level 99,99% Consistency Attainment or 10% Service Credit 99% Consistency Attainment or 25% Service Credit https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
  • 84. Latency SLA Guarantees 10ms latency for reading up to 1kb document in same region Guarantees 15ms latency for writing up to 1kb document in same region 99,99% Latency Attainment or 10% Service Credit 99% Latency Attainment or 25% Service Credit https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/
  • 89. It’s so awesome! Isn’t it?
  • 90. Links CosmosDB Technical Overview • https://azure.microsoft.com/en-us/blog/a-technical-overview-of-azure- cosmos-db/ Database popularity ranking • https://db-engines.com/en/ranking PaaS Database on Azure • http://hryniewski.net/2017/05/28/paas-databases-available-on-azure/ CosmosDB documentation • https://docs.microsoft.com/en-us/azure/cosmos-db/ CosmosDB SLAs • https://azure.microsoft.com/en-us/support/legal/sla/cosmos-db/v1_0/