Azure Cosmos DB: The globally distributed, multi-model database

Slides:



Advertisements
Similar presentations
Training Workshop Windows Azure Platform. Presentation Outline (hidden slide): Technical Level: 200 Intended Audience: Developers Objectives (what do.
Advertisements

Migrate SQL Server Apps to SQL Azure Cloud DB
Deep-Dive w/ Azure Cosmos DB
11/7/2017 2:56 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Use relational database as a service
Data Platform and Analytics Foundational Training
Successfully migrate existing databases to Azure SQL Database
Secure Hyperconnectivity with TeamViewer and Windows technologies
Azure Machine Learning Deploying and Managing Models in production
The story of an IoT solution
Creating Enterprise Grade BI Models with Azure Analysis Services
Azure File Sync Setup, configuration and management
Delivering enterprise BI with Azure Analysis Services
How To Deliver Apps Faster And Secure Them The Microsoft Way
Use any Amazon S3 application with Azure Blob Storage
Azure Event Grid: Powering serverless through eventing
Melbourne Azure Meetup
6/10/2018 5:07 PM THR2218 Deploying Windows Defender AV and more with Intune and Configuration Manager Amitai Senior Program Manager,
Globally distributed, secure MongoDB with Azure Cosmos DB
Developing Hybrid Apps on Microsoft Azure Stack
6/26/2018 5:24 AM THR1083 Enabling Advanced Security Capabilities: Drive consistent authorization across multiple applications Bryan Bolling Solution Architect,
6/26/2018 2:09 PM THR4002 Achieving Upward Mobility Top 3 Strategies for Migrating Data and Workloads to the Cloud
Decoding audit events in Microsoft Office 365
Optimizing Microsoft OneDrive for the enterprise
Performing a Seamless Migration in Azure SQL DB
Azure Cosmos DB Venitta J Microsoft Connect /6/2018 4:36 PM
Understanding Multi-Geo Capabilities in Office 365
7/22/2018 9:21 PM BRK3270 Building a Better Data Solution: Microsoft SQL Server and Azure Data Services Joey D’Antoni Principal Consultant Denny Cherry.
Microsoft Ignite /31/ :08 AM
8/6/ :17 AM THR2214 Hybrid Cloud Activated A customer case study optimizing on-premises & Azure performance and cost Mor Cohen-Tal Senior Product.
Overview of the Microsoft Azure serverless platform
SQL Server for Java developers
Workflow Orchestration with Adobe I/O
Azure Cosmos DB: From Internet to Enterprise
Customize Office 365 Search and create result sources
Best Practices for Securing Hybrid Clouds
Automate all things! Microsoft Azure continuous deployment
Data Growth Challenge at WSP USA
Cloud Database Based on SQL Server 2012 Technologies
9/21/2018 3:41 AM BRK3180 Architect your big data solutions with SQL Data Warehouse & Azure Analysis Services Josh Caplan & Matt Usher Program Managers.
Azure PowerShell Aaron Roney Senior Program Manager Cormac McCarthy
Continuous Delivery for Microsoft Azure
Port your AWS Knowledge to Azure
11/18/2018 2:14 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
11/22/2018 1:43 PM THR3005 How to provide business insight from your data using Azure Analysis Services Peter Myers Bitwise Solutions © Microsoft Corporation.
11/23/2018 8:30 AM BRK3037 BRK3037: Dive deep on building apps and services with the Office 365 Communications Platform David Newman Senior Program Manager.
Azure Advisor: Optimization in the best way
Mobile Center and VSTS:​ Better together for your Mobile DevOps
Explore the Azure Cosmos DB with .NET Core 2.0
Power-up NoSQL with Azure Cosmos DB
Yammer for IT Tom Kretzmer Solutions Developer, Westinghouse THR1016
1/2/2019 5:18 PM THR3016 Customer stories: Plan and orchestrate large resource deployments on Azure infrastructure Igal Figlin Principal PM Manager – Azure.
MDM Migration Analysis Tool (MMAT)
Overview: Dynamics 365 for Project Service Automation
Virtual Reality with Azure and Unity
Understand your Azure cloud assets dependencies with BMC Discovery
Surviving identity management in a hybrid world
Breaking Down the Value of A Yammer Post: 20 Things to Do
Getting the most out of Azure resources with Azure Advisor
Manage your App Service resources using Command line tools
“Hey Mom, I’ll Fix Your Computer”
Designing Bots that Fit Your Organization
Ask the Experts: Windows 10 deployment and servicing
Digital Transformation: Putting the Jigsaw Together
Diagnostics and troubleshooting in Azure App Service Support Center
Optimizing your content for search and discovery
Request Units & Billing
Global Distribution.
Sessions about to start – Get your rig on!
Microsoft Virtual Academy
Presentation transcript:

Azure Cosmos DB: The globally distributed, multi-model database 9/19/2018 8:59 AM BRK3086 Azure Cosmos DB: The globally distributed, multi-model database Andrew Hoh Program Manager © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Building globally distributed applications Mission-critical applications for a global userbase need … Global distribution Elasticity of compute and storage Fast, Responsive millisecond latency Durable, Consistent and Highly available

What sets Azure Cosmos DB apart

Turnkey Global Distribution Worldwide presence as a Foundational Azure service Automatic multi-region replication Multi-homing APIs Manual and automatic failovers Designed for High Availability

Global Distribution Demo 9/19/2018 8:59 AM Global Distribution Demo © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Guaranteed low latency at P99 (99th percentile) Requests are served from local region Single-digit millisecond latency worldwide Write optimized, latch-free database engine designed for SSD Synchronous automatic indexing at sustained ingestion rates

Multiple, well-defined consistency choices Global distribution forces us to navigate the CAP theorem Writing correct distributed applications is hard Five well-defined consistency levels Intuitive and practical with clear PACELC tradeoffs Programmatically change at anytime Can be overridden on a per-request basis

Elastically scalable storage and throughput Provisioned request / sec Time 12000000 10000000 8000000 6000000 4000000 2000000 Nov 2016 Dec 2016 Black Friday Hourly throughput (request/sec) Single machine is never a bottle neck Transparent server-side partition management Elastically scale storage (GB to PB) and throughput (100 to 100M req/sec) across many machines and multiple regions Automatic expiration via policy based TTL Pay by the hour, change throughput at any time for only what you need Support for both request per second and requests per minute to handle spikes cost-effectively

Multi-model, multi-API Database engine operates on Atom-Record-Sequence type system All data models can be efficiently translated to ARS Multi-model: Key-value, Document, and Graph Multi-API: SQL (DocumentDB), MongoDB, Table, and Gremlin More data-models and APIs to be added

Schema-agnostic, automatic indexing At global scale, schema/index management is painful Automatic and synchronous indexing Hash, range, and geospatial Works across every data model Highly write-optimized database engine Schema Physical index

Cosmos DB Query Playground 9/19/2018 8:59 AM Cosmos DB Query Playground © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Industry-leading, enterprise-grade SLAs 99.99% availability – even with a single region Made possible with highly-redundant storage architecture Guaranteed durability – writes are majority quorum committed First and only service to offer SLAs on: Low-latency Consistency Throughput

Security & Compliance Always encrypted at rest and in motion Fine grained “row level” authorization Network security with IP firewall rules Comprehensive Azure compliance certification: ISO 27001 ISO 27018 EUMC HIPAA PCI SOC1 and SOC2

Lowest Total Cost of Ownership (TCO) $ 10x Deeply exploit cloud core properties and economies of scale Significantly cheaper than DynamoDB, Cassandra, Cloud Spanner and MongoDB Designed from the ground up as a multi-tenant service with end-to-end resource governance to provide performance isolation. Fully managed as a service - no dev/ops expenses needed Cost $ 3x Cosmos DB DynamoDB On-premises MongoDB/ Cassandra

Who uses Cosmos DB?

Skype Ingestion service Skype powers 1M searches per second over conversation data Key benefits Cosmos DB supports fast ingestion of message data from 1:1 communication, group chats Cosmos DB enables real-time query over message and group conversations, with custom filters on when user enters/leaves thread Azure Cosmos DB USERS GROUPS MESSAGES Skype Ingestion service Skype Query service Business need Provide search capabilities over TBs-PBs of Skype and Teams conversations Fast ingestion with multiple writes, overlay group memberships Secure & compliant data storage with high privacy requirements 6TB User data 1TB Group data 44TB Message data

8TB 250K Toyota drives connected car push forward with Azure Cosmos DB Key benefits Cosmos DB can scale elastically without operational overhead of MongoDB Perform fast queries over events to deliver recommended services, safety notices to vehicles Perform staged migration via MongoDB APIs Azure Cosmos DB Azure HDInsight Storm Azure Storage (archival) Business need Need to ingest massive volumes of diagnostic data from vehicles and take real- time actions as part of connected car platform Management and operations of database infrastructure to handle exponential growth of data 8TB Vehicle Telemetry 250K Lexus Cars

E-commerce challenger eyes the top spot, runs on Azure Cosmos DB Business need Process Ms of retail transactions per second in milliseconds in inventory pipeline during peak (“Black Friday”) Fast development cycles and loosely coupled micro-services to keep up with a competitive marketplace Key benefits Cosmos DB provides elastic scalability from 1-10M requests per second Improved reliability, and faster order processing times than previous OSS solution Reduced development time and operational overhead Azure Cosmos DB Azure Service Fabric Pricing Service Inventory Service 10M Peak RPS 12TB Provisioned 64 Databases

Azure Notification Hubs (push notifications) Performance at massive scale allows millions to play mobile game Business need Handle millions of players on Day 1 due to popularity of the TV series Match-making of players for competitive and lag-free experience Provide new content weekly, and iterate on social functionality Key benefits Cosmos DB provides elastic scalability for millions of users and flexible schema to support social features and gameplay Global distribution allows for low latency for players spread worldwide Automatic indexing used to build real-time leaderboards Azure Traffic Manager Azure API Aps (game backend) Azure CDN Azure Cosmos DB Azure Functions Azure Notification Hubs (push notifications) Azure Storage (game files) #1 iOS App Store 1B Daily Queries 1M Peak Active

System Internals

= Resource Model Resources identified by their logical and stable URI Account Resource Model Resources identified by their logical and stable URI Hierarchical overlay over horizontally partitioned entities; spanning machines, clusters and regions Extensible custom projections based on specific type of API interface Stateless interaction (HTTP and TCP) Database Container = Collection Graph Table Item

(partition-key = “airport”) Horizontal Partitioning = Container Collection Graph Table Containers are horizontally partitioned Each partition made highly available via a replica set Partition management is transparent and highly responsive Partitioning scheme is dictated by a “partition-key” (partition-key = “airport”) { "airport" : "LAX" } { "airport" : “DUB" } { "airport" : "SYD" } Replica set … Resource Partitions

Best Practices: Partitioning All items with the same partition key will be stored in the same partition Multiple partition keys may share the same partition using hash-based partitioning Select a partition key which provides even distribution of storage and throughput (req/sec) at any given time to avoid storage and performance bottlenecks Do not use current timestamp as partition key for write heavy workloads "city" : “A-G" "city" : “H-K" "city" : “L-N" "city" : “M-Z"

Best Practices: Partitioning The service handles routing query requests to the right partition using the partition key Partition key should be represented in the bulk of queries for read heavy scenarios to avoid excessive fan-out. Partition key is the boundary for cross item transactions. Select a partition key which can be a transaction scope. An ideal partition key enables you to use efficient queries and has sufficient cardinality to ensure solution is scalable ACID

= … Container Global Distribution Local Distribution Global Distribution West US North Europe Australia Southeast Collection Graph Table Global Distribution All resources are horizontally partitioned and vertically distributed Distribution can be within a cluster, x-cluster, x-DC or x-region Replication topology is dynamic based on consistency level and network conditions

Request Units % CPU Request Units (RU) is a rate-based currency % IOPS % CPU % Memory Request Units (RU) is a rate-based currency Abstracts physical resources for performing requests Key to multi-tenancy, SLAs, and COGS efficiency Foreground and background activities

Request Units Normalized across various access methods GET POST PUT Query … Request Units Normalized across various access methods 1 RU = 1 read of 1 KB document Each request consumes fixed RUs Applies to reads, writes, queries, and stored procedure execution

Request Units Provisioned in terms of RU/sec and RU/min granularities Min RU/sec Max RU/sec Incoming Requests Replica Quiescent Rate limit No throttling Request Units Provisioned in terms of RU/sec and RU/min granularities Rate limiting based on amount of throughput provisioned Can be increased or decreased instantaneously Metered Hourly Background processes like TTL expiration, index transformations scheduled when quiescent

Capacity Planner 9/19/2018 8:59 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Cosmos DB: In Summary

Azure Cosmos DB Table API MongoDB API A globally distributed, massively scalable, multi-model database service Table API MongoDB API Key-value Column-family Document Graph Guaranteed low latency at the 99th percentile Elastic scale out of storage & throughput Five well-defined consistency models Turnkey global distribution Comprehensive SLAs

Try Azure Cosmos DB for free! https://azure.microsoft.com/en-us/try/cosmosdb/

Related Sessions When Code Title Wednesday, 10:15am - 11am BRK3110 Globally distributed, secure MongoDB with Azure Cosmos DB Wednesday, 1:05pm - 1:25pm THR2048 Azure Cosmos DB: From Internet to enterprise Wednesday, 4pm - 5:15pm BRK3134 Real time data-science with Azure Cosmos DB Thursday, 10:45am - 12pm BRK4008 Azure Cosmos DB, design patterns and case studies for globally distributed applications Friday, 12;30pm - 1:45pm BRK3117 Internet of things with Azure Cosmos DB

Please evaluate this session Tech Ready 15 9/19/2018 Please evaluate this session From your Please expand notes window at bottom of slide and read. Then Delete this text box. PC or tablet: visit MyIgnite https://myignite.microsoft.com/evaluations Phone: download and use the Microsoft Ignite mobile app https://aka.ms/ignite.mobileapp Your input is important! © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

9/19/2018 8:59 AM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Thank you!

Questions?