Global Distribution.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Building Scalable Web Apps with Windows Azure Name Title Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Co- location Mass Market Managed Hosting ISV Hosting.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
Feature: SmartList Usability Enhancements © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Print Remaining Documents © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
Connect with life Connect with life
Windows Azure Connect Name Title Microsoft Corporation.
A Windows Azure application runs multiple instances of each role A Windows Azure application behaves correctly when.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Document Attachment –Replace OLE Notes © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
North America Region Europe Region Asia Pacific Region.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
SQL Server SQL Azure Visual Studio“Quadrant” SQL Server Modeling Services Entity Framework ADO.NET“M”/EDM Data Services …
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
demo Instance AInstance B Read “7” Write “8”

customer.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
Feature: Void Historical/Open Transaction Updates © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Возможности Excel 2010, о которых следует знать
Title of Presentation 11/22/2018 3:34 PM
Baseline: How Are We Doing Now?
Title of Presentation 12/2/2018 3:48 PM
1/3/2019 1:21 PM © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Feature: Document Attachment - Flow from Master Records
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
SharePoint 2013 Authentication with Azure – Part 1
Windows 8 Security Internals
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
WINDOWS AZURE A LAP AROUND PLATFORM THE Steve Marx
PENSACOLA ENERGY WORK PLAN OCTOBER 10, 2016
Jason Zander Unplugged
Title of Presentation 5/12/ :53 PM
Шитманов Дархан Қаражанұлы Тарих пәнінің
SharePoint 2013 Authentication with Azure – Part 2
Title of Presentation 5/24/2019 1:26 PM
5/24/2019 6:44 PM 1/8/18 Bell #10 In a world governed by the gods, is there any room for human will? Do human choices make a difference? EXPLAIN © 2007.
日本初公開!? Vista の新機能を実演 とっちゃん わんくま同盟 7/23/2019 9:09 AM
Title of Presentation 7/24/2019 8:53 PM
Presentation transcript:

Global Distribution

Multi-Master – Read/Write in any region Benefits Write scalability around the world Low latency (<10ms P99 for 1kb document) writes around the world 99.999% High Availability around the world Well-defined consistency models Automatic conflict management

How to use it Enable multi-master upon account creation

How to use it Add desired regions via Portal

How to use it Add preferred regions in SDK

What happens if region goes down? Account type Region goes down What happens? Single-master Write Customer needs to enable automatic failover Read region will be promoted to write region Read SDK routes to next preferred region, or write region if none set Multi-master SDK routes to next preferred region

Consistency In a distributed system, where data is being replicated across regions, what version of data do readers see? Latest version? Old version? Answer: Depends on consistency level

Microsoft Ignite 2016 6/25/2019 11:13 AM ACID != CAP Consistency w.r.t. Transactions is NOT the same thing as Consistency w.r.t. Replication. this is about moving from one valid state to another for a single given transaction this about getting a consistent view across replicated copies of data © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

CAP Theorem Brewer’s CAP Theorem: impossible for distributed data store to simultaneously provide more than 2 out of the following 3 guarantees: Consistency, Availability, Partition Tolerance (in the face of network failures) In reality, we need to ensure partition tolerance, so tradeoff is between consistency and availability

3 different regions (West US) (East US) C A B (North Europe)

3 different regions – value of record = 5 B Value = 5

3 different regions – Value updated to 6 in Region A C A B Value = 5

What happens when a network partition is introduced? 3 different regions – Network failure between A and B Value = 5 6 Update 5 => 6 Value = 5 6 C A B Value = 5 What happens when a network partition is introduced?

What happens when a network partition is introduced? What should Region B see? See 5: (prioritize availability) Go offline until network is back: (prioritize consistency Value = 5 6 Update 5 => 6 Value = 5 6 C A B Value = 5 Region B does a read What happens when a network partition is introduced?

CAP Theorem Brewer’s CAP Theorem: impossible for distributed data store to simultaneously provide more than 2 out of the following 3 guarantees: Consistency, Availability, Partition Tolerance (in the face of network failures) In reality, we need to ensure partition tolerance, so tradeoff is between consistency and availability

What about in a normally functioning system? PACELC Theorem: In the case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (CAP Theorem) but else (E), even when the system is running normally in the absence of network failures, one has to choose between latency (L) and consistency (C).

Region A updates 5->6, replicates to region C Value = 5 6 Update 5 => 6 Value = 5 6 C A B Value = 5 Latency: packet of information can travel as fast as speed of light. Replication between distant geographic regions can take 100’s of milliseconds

Region A updates 5->6, replicates to region C. What value does B see? Reader C: What is the value? Value = 5 6 Update 5 => 6 Value = 5 6 C A B Value = 5 Reader B: What is the value?

Reader A: What is the value? See 5 immediately: (prioritize latency) Wait for 6 to propagate: (prioritize consistency What value does B see? Reader A: What is the value? Value = 5 6 Update 5 => 6 Value = 5 6 Value = 5

What about in a normally functioning system? PACELC Theorem: In the case of network partitioning (P) in a distributed computer system, one has to choose between availability (A) and consistency (C) (CAP Theorem) but else (E), even when the system is running normally in the absence of network failures, one has to choose between latency (L) and consistency (C).

Programmable Data Consistency 6/25/2019 Programmable Data Consistency Choice for most distributed apps Strong consistency High latency Eventual consistency, Low latency © 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, 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.

Well-Defined Consistency Models Well-Defined Consistency Models Intuitive programming model 5 Well-defined, consistency models Overridable on a per-request basis Clear tradeoffs Latency Availability Throughput

Well-Defined Consistency Models

Well-Defined Consistency Models Well-Defined Consistency Models Consistency Level Guarantees Strong Linearizability (once operation is complete, it will be visible to all) Bounded Staleness Consistent Prefix. Reads lag behind writes by at most k prefixes or t interval Similar properties to strong consistency (except within staleness window), while preserving 99.99% availability and low latency. Session Within a session: monotonic reads, monotonic writes, read-your-writes, write-follows-reads Predictable consistency for a session, high read throughput + low latency Consistent Prefix Reads will never see out of order writes (no gaps). Eventual Potential for out of order reads. Lowest cost for reads of all consistency levels.

Bounded-Staleness Bounds set server-side via the Azure Portal - Reads lag behind writes are by at most k prefixes or t interval

Session Consistency Session is controlled using a “session token”. – Read your own writes within a session Session tokens are automatically cached by the Client SDK Can be pulled out and used to override other requests (to preserve session between multiple clients) string sessionToken; using (DocumentClient client = new DocumentClient(new Uri(""), "")) { ResourceResponse<Document> response = client.CreateDocumentAsync( collectionLink, new { id = "an id", value = "some value" } ).Result; sessionToken = response.SessionToken; } ResourceResponse<Document> read = client.ReadDocumentAsync( documentLink, new RequestOptions { SessionToken = sessionToken }

Bounded-Staleness Bounds set server-side via the Azure Portal - Reads lag behind writes are by at most k prefixes or t interval

Relaxing Consistency Consistency can be relaxed on a per-request basis client.ReadDocumentAsync( documentLink, new RequestOptions { ConsistencyLevel = ConsistencyLevel.Eventual } );

Music notes visualization