SlideShare uma empresa Scribd logo
1 de 52
Baixar para ler offline
HELLO DEVDAY




PDX 2010
Justin Marney
           HELLO DEVDAY



PDX 2010
Viget Labs
           Justin Marney
           HELLO DEVDAY


PDX 2010
GMU BCS ‘06
           Viget Labs
           Justin Marney
           HELLO DEVDAY
PDX 2010
Ruby ‘07
           GMU BCS ‘06
           Viget Labs
           Justin Marney
PDX 2010
Viget ‘08
           Ruby ‘07
           GMU BCS ‘06
           Viget Labs
PDX 2010
PDX 2010
PDX 2010
DISTRIBUTING
           YOUR DATA



PDX 2010
WHY?
           DISTRIBUTING
           YOUR DATA


PDX 2010
web applications are judged
           by their level of availability

           WHY?
           DISTRIBUTING
           YOUR DATA
PDX 2010
ability to continue operating
           during failure scenarios
           web applications are judged
           by their level of availability

           WHY?
           DISTRIBUTING
PDX 2010
           YOUR DATA
ability to manage availability
           during failure scenarios
           ability to continue operating
           during failure scenarios
           web applications are judged
           by their level of availability

           WHY?
PDX 2010
increase throughput
           ability to manage availability
           during node failure
           ability to continue operating
           during failure scenarios
           web applications are judged
           by their level of availability


PDX 2010
           WHY?
increase durability
           increase throughput
           ability to manage availability
           during node failure
           ability to continue operating
           during failure scenarios
           web applications are judged
           by their level of availability
PDX 2010
increase scalability
           increase durability
           increase throughput
           ability to manage availability
           during node failure
           ability to continue operating
           during failure scenarios

PDX 2010
SCALABILITY
           "I can add twice as much X
           and get twice as much Y."
           X = processor, RAM, disks,
           servers, bandwidth
           Y = throughput, storage
           space, uptime

PDX 2010
SCALABILITY
           scalability is a ratio.
           2:2 = linear scalability ratio
           scalability ratio allows you
           to predict how much it will
           cost you to grow.


PDX 2010
SCALABILITY
           UP/DOWN/VERTICAL/
           HORIZONTAL/L/R/L/R/A/
           B/START




PDX 2010
SCALABILITY
           UP
           grow your infrastructure
           multiple data centers
           higher bandwidth
           faster machines




PDX 2010
SCALABILITY
           DOWN
           shrink your infrastructure
           mobile
           set-top
           laptop




PDX 2010
SCALABILITY
           VERTICAL
           add to a single node
           CPU
           RAM
           RAID




PDX 2010
SCALABILITY
           HORIZONTAL
           add more nodes
           distribute the load
           commodity cost
           limited only by capital




PDX 2010
@gary_hustwit: Dear
           Twitter: when a World Cup
           match is at the 90th
           minute, you might want to
           turn on a few more servers.




PDX 2010
ASYNCHRONOUS
     A distributed transaction is bound
     by availability of all nodes.




PDX 2010
ASYNCHRONOUS
     A distributed transaction is bound
     by availability of all nodes.

     (.99^1) = .99
     (.99^2) = .98
     (.99^3) = .97

PDX 2010
ASYNCHRONOUS
     Asynchronous systems operate
     without the concept of global state.
     The concurrency model more
     accurately reflects the real world.




PDX 2010
ASYNCHRONOUS
     Asynchronous systems operate
     without the concept of global state.
     The concurrency model more
     accurately reflects the real world.
     What about my ACID!?


PDX 2010
ACID
     Atomic
     Series of database operations either all occur, or nothing occurs.


     Consistent
     Transaction does not violate any integrity constraints during execution.


     Isolated
     Cannot access data that is modified during an incomplete transaction.


     Durable
     Transactions that have committed will survive permanently.

PDX 2010
ACID
     Defines a set of characteristics that
     aim to ensure consistency.
     What happens when we realize that
     in order scale we need to distribute
     our data and handle asynchronous
     operations?


PDX 2010
ACID
     Without global state, no Atomicity.
     Without a linear timeline, no
     transactions and no Isolation.
     The canonical location of data
     might not exist, therefore no D.


PDX 2010
Without A, I, or D, Consistency in
     terms of entity integrity is no longer
     guaranteed.




PDX 2010
CAP Theorem
     Eric Brewer @ 2000 Principles of
     Distributed Computing (PODC).
     Seth Gilbert and Nancy Lynch
     published a formal proof in 2002.




PDX 2010
CAP Acronym
     Consistency: Multiple values for the
     same piece of data are not allowed.
     Availability: If a non-failing node can
     be reached the system functions.
     Partition-Tolerance: Regardless of
     packet loss, if a non-failing node is
     reached the system functions.
PDX 2010
CAP Theorem

     Consistency, Availability, Partition-
     Tolerance: Choose One...




PDX 2010
CAP Theorem
     Single node systems bound by CAP.
     100% Partition-tolerant
     100% Consistent
     No Availability Guarantee




PDX 2010
CAP Theorem
     Multi-node systems bound by CAP.
     CA : DT, 2PC, ACID
     CP : Quorum, distributed databases
     AP : Dynamo, no ACID



PDX 2010
CAP Theorem
     CAP doesn't say AP systems are
     the solution to your problem.
     Not an absolute decision.
     Most systems are a hybrid of CA,
     CP, & AP.


PDX 2010
CAP Theorem
     Understand the trade-offs and use
     that understanding to build a
     system that fails predictably.
     Enables you to build a system that
     degrades gracefully during a failure.



PDX 2010
BASE
     Dan Pritchett
     BASE: An ACID Alternative
     Associate for Computing Machinery
     Queue, 2008



PDX 2010
BASE
     BASE: An ACID Alternative
     Basically Available
     Soft State
     Eventually Consistent




PDX 2010
BASE
     BASE: An ACID Alternative
     Basically Available
     Soft State
     Eventually Consistent




PDX 2010
Eventually Consistent
     Rename to Managed Consistency.
     Does not mean probable or hopeful
     or indefinite time in the future.
     Describes what happens during a
     failure.



PDX 2010
Eventually Consistent
     During certain scenarios a decision
     must be made to either return
     inconsistent data or deny a request.
     EC allows you control the level of
     consistency vs. availability in your
     application.


PDX 2010
Eventually Consistent
     In order to achieve availability in an
     asynchronous system, accept that
     failures are going to happen.
     Understand failure points and know
     what you are willing to give up in
     order to achieve availability.


PDX 2010
How can we model the operations
     we perform on our data to be
     asynchronous & EC?




PDX 2010
Model system as a network of
     independent components.
     Partition components along
     functional boundaries.
     Don't interact with your data as one
     big global state.


PDX 2010
This doesn't meant every part of
     your system must operate this way!
     Use ACID 2.0 to help identify and
     architect components than can.



PDX 2010
ACID 2.0
     Associative
     Order of operations does not change the result.


     Commutative
     Operations can be aggregated in any order.


     Idempotent
     Operation can be applied multiple times without changing the result.


     Distributed
     Operations are distributed and processed asynchronously.

PDX 2010
OPS BROS
     Incremental scalability
     Homogeneous node responsibilities
     Heterogeneous node capabilities




PDX 2010
LINKS
     Base: An ACID Alternative
     Into the Clouds on New Acid
     Brewer's CAP theorem
     Embracing Concurrency At Scale
     Amazon's Dynamo

PDX 2010
ME
     http://sorescode.com
     http://github.com/gotascii
     http://spkr8.com/s/1
     @vigemarn



PDX 2010

Mais conteúdo relacionado

Destaque

Destaque (9)

Lily and the Monome
Lily and the MonomeLily and the Monome
Lily and the Monome
 
Wearhacks keynote-2015
Wearhacks keynote-2015Wearhacks keynote-2015
Wearhacks keynote-2015
 
Evaluating Paradigms
Evaluating ParadigmsEvaluating Paradigms
Evaluating Paradigms
 
Searchlogic
SearchlogicSearchlogic
Searchlogic
 
The Computational condition
The Computational conditionThe Computational condition
The Computational condition
 
Cognitive biases - a visual study guide
Cognitive biases - a visual study guideCognitive biases - a visual study guide
Cognitive biases - a visual study guide
 
Workshop protodeck (french)
Workshop protodeck (french)Workshop protodeck (french)
Workshop protodeck (french)
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 
Culture
CultureCulture
Culture
 

Semelhante a Distributing Your Data

Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...
Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...
Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...Kristoffer Sheather
 
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open ShiftMicrosoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open ShiftTravis Wright
 
Multicloud as the Next Generation of Cloud Infrastructure
Multicloud as the Next Generation of Cloud Infrastructure Multicloud as the Next Generation of Cloud Infrastructure
Multicloud as the Next Generation of Cloud Infrastructure Brad Eckert
 
Presentation cisco plus tech datacenter virtualisering
Presentation   cisco plus tech datacenter virtualiseringPresentation   cisco plus tech datacenter virtualisering
Presentation cisco plus tech datacenter virtualiseringxKinAnx
 
End-to-End Data Center Virtualization
End-to-End Data Center VirtualizationEnd-to-End Data Center Virtualization
End-to-End Data Center VirtualizationCisco Canada
 
Red Hat Software Defined Storage
Red Hat Software Defined StorageRed Hat Software Defined Storage
Red Hat Software Defined StorageDLT Solutions
 
Cisco storage networking protect scale-simplify_dec_2016
Cisco storage networking   protect scale-simplify_dec_2016Cisco storage networking   protect scale-simplify_dec_2016
Cisco storage networking protect scale-simplify_dec_2016Tony Antony
 
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:Cisco Canada
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODinside-BigData.com
 
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCS
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCSPROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCS
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCSProact Netherlands B.V.
 
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backbone
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backboneT12.Fujitsu World Tour India 2016-Your Datacenter‘s backbone
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backboneFujitsu India
 
Citi Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid CloudCiti Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid Cloudconfluent
 
Best Data Center Service Provider in India - Best Hybrid Cloud Hosting Servi...
Best Data Center Service Provider in India -  Best Hybrid Cloud Hosting Servi...Best Data Center Service Provider in India -  Best Hybrid Cloud Hosting Servi...
Best Data Center Service Provider in India - Best Hybrid Cloud Hosting Servi...NetData Vault
 
Bringing Cloud Scale Efficiency to Communication Services Providers through R...
Bringing Cloud Scale Efficiency to Communication Services Providers through R...Bringing Cloud Scale Efficiency to Communication Services Providers through R...
Bringing Cloud Scale Efficiency to Communication Services Providers through R...Radisys Corporation
 
The Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionThe Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionJuniper Networks
 
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite PROIDEA
 
MIG 5th Data Centre Summit 2016 PTS Presentation v1
MIG 5th Data Centre Summit 2016 PTS Presentation v1MIG 5th Data Centre Summit 2016 PTS Presentation v1
MIG 5th Data Centre Summit 2016 PTS Presentation v1blewington
 

Semelhante a Distributing Your Data (20)

Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...
Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...
Scaling Your SDDC Network: Building a Highly Scalable SDDC Infrastructure wit...
 
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open ShiftMicrosoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
Microsoft Ignite 2017 - SQL Server on Kubernetes, Swarm, and Open Shift
 
Multicloud as the Next Generation of Cloud Infrastructure
Multicloud as the Next Generation of Cloud Infrastructure Multicloud as the Next Generation of Cloud Infrastructure
Multicloud as the Next Generation of Cloud Infrastructure
 
Presentation cisco plus tech datacenter virtualisering
Presentation   cisco plus tech datacenter virtualiseringPresentation   cisco plus tech datacenter virtualisering
Presentation cisco plus tech datacenter virtualisering
 
End-to-End Data Center Virtualization
End-to-End Data Center VirtualizationEnd-to-End Data Center Virtualization
End-to-End Data Center Virtualization
 
Red Hat Software Defined Storage
Red Hat Software Defined StorageRed Hat Software Defined Storage
Red Hat Software Defined Storage
 
Cisco storage networking protect scale-simplify_dec_2016
Cisco storage networking   protect scale-simplify_dec_2016Cisco storage networking   protect scale-simplify_dec_2016
Cisco storage networking protect scale-simplify_dec_2016
 
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
The Hitch-Hikers Guide to Data Centre Virtualization and Workload Consolidation:
 
OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009OMG DDS Interoperability Demo 2009
OMG DDS Interoperability Demo 2009
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCS
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCSPROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCS
PROACT SYNC 2013 - Breakout - End to End uitleg over Cisco UCS
 
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backbone
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backboneT12.Fujitsu World Tour India 2016-Your Datacenter‘s backbone
T12.Fujitsu World Tour India 2016-Your Datacenter‘s backbone
 
Citi Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid CloudCiti Tech Talk: Hybrid Cloud
Citi Tech Talk: Hybrid Cloud
 
Best Data Center Service Provider in India - Best Hybrid Cloud Hosting Servi...
Best Data Center Service Provider in India -  Best Hybrid Cloud Hosting Servi...Best Data Center Service Provider in India -  Best Hybrid Cloud Hosting Servi...
Best Data Center Service Provider in India - Best Hybrid Cloud Hosting Servi...
 
Bringing Cloud Scale Efficiency to Communication Services Providers through R...
Bringing Cloud Scale Efficiency to Communication Services Providers through R...Bringing Cloud Scale Efficiency to Communication Services Providers through R...
Bringing Cloud Scale Efficiency to Communication Services Providers through R...
 
Cisco data center training for ibm
Cisco data center training for ibmCisco data center training for ibm
Cisco data center training for ibm
 
Brocade powering communications & collaboration
Brocade powering communications & collaborationBrocade powering communications & collaboration
Brocade powering communications & collaboration
 
The Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN EvolutionThe Path to SDN - How to Ensure a Successful SDN Evolution
The Path to SDN - How to Ensure a Successful SDN Evolution
 
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite
PLNOG 9: Marcin Strzyżewski, Marcin Wawrzyński - Videoscape Distribution Suite
 
MIG 5th Data Centre Summit 2016 PTS Presentation v1
MIG 5th Data Centre Summit 2016 PTS Presentation v1MIG 5th Data Centre Summit 2016 PTS Presentation v1
MIG 5th Data Centre Summit 2016 PTS Presentation v1
 

Último

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 

Último (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 

Distributing Your Data

  • 2. Justin Marney HELLO DEVDAY PDX 2010
  • 3. Viget Labs Justin Marney HELLO DEVDAY PDX 2010
  • 4. GMU BCS ‘06 Viget Labs Justin Marney HELLO DEVDAY PDX 2010
  • 5. Ruby ‘07 GMU BCS ‘06 Viget Labs Justin Marney PDX 2010
  • 6. Viget ‘08 Ruby ‘07 GMU BCS ‘06 Viget Labs PDX 2010
  • 9. DISTRIBUTING YOUR DATA PDX 2010
  • 10. WHY? DISTRIBUTING YOUR DATA PDX 2010
  • 11. web applications are judged by their level of availability WHY? DISTRIBUTING YOUR DATA PDX 2010
  • 12. ability to continue operating during failure scenarios web applications are judged by their level of availability WHY? DISTRIBUTING PDX 2010 YOUR DATA
  • 13. ability to manage availability during failure scenarios ability to continue operating during failure scenarios web applications are judged by their level of availability WHY? PDX 2010
  • 14. increase throughput ability to manage availability during node failure ability to continue operating during failure scenarios web applications are judged by their level of availability PDX 2010 WHY?
  • 15. increase durability increase throughput ability to manage availability during node failure ability to continue operating during failure scenarios web applications are judged by their level of availability PDX 2010
  • 16. increase scalability increase durability increase throughput ability to manage availability during node failure ability to continue operating during failure scenarios PDX 2010
  • 17. SCALABILITY "I can add twice as much X and get twice as much Y." X = processor, RAM, disks, servers, bandwidth Y = throughput, storage space, uptime PDX 2010
  • 18. SCALABILITY scalability is a ratio. 2:2 = linear scalability ratio scalability ratio allows you to predict how much it will cost you to grow. PDX 2010
  • 19. SCALABILITY UP/DOWN/VERTICAL/ HORIZONTAL/L/R/L/R/A/ B/START PDX 2010
  • 20. SCALABILITY UP grow your infrastructure multiple data centers higher bandwidth faster machines PDX 2010
  • 21. SCALABILITY DOWN shrink your infrastructure mobile set-top laptop PDX 2010
  • 22. SCALABILITY VERTICAL add to a single node CPU RAM RAID PDX 2010
  • 23. SCALABILITY HORIZONTAL add more nodes distribute the load commodity cost limited only by capital PDX 2010
  • 24. @gary_hustwit: Dear Twitter: when a World Cup match is at the 90th minute, you might want to turn on a few more servers. PDX 2010
  • 25. ASYNCHRONOUS A distributed transaction is bound by availability of all nodes. PDX 2010
  • 26. ASYNCHRONOUS A distributed transaction is bound by availability of all nodes. (.99^1) = .99 (.99^2) = .98 (.99^3) = .97 PDX 2010
  • 27. ASYNCHRONOUS Asynchronous systems operate without the concept of global state. The concurrency model more accurately reflects the real world. PDX 2010
  • 28. ASYNCHRONOUS Asynchronous systems operate without the concept of global state. The concurrency model more accurately reflects the real world. What about my ACID!? PDX 2010
  • 29. ACID Atomic Series of database operations either all occur, or nothing occurs. Consistent Transaction does not violate any integrity constraints during execution. Isolated Cannot access data that is modified during an incomplete transaction. Durable Transactions that have committed will survive permanently. PDX 2010
  • 30. ACID Defines a set of characteristics that aim to ensure consistency. What happens when we realize that in order scale we need to distribute our data and handle asynchronous operations? PDX 2010
  • 31. ACID Without global state, no Atomicity. Without a linear timeline, no transactions and no Isolation. The canonical location of data might not exist, therefore no D. PDX 2010
  • 32. Without A, I, or D, Consistency in terms of entity integrity is no longer guaranteed. PDX 2010
  • 33. CAP Theorem Eric Brewer @ 2000 Principles of Distributed Computing (PODC). Seth Gilbert and Nancy Lynch published a formal proof in 2002. PDX 2010
  • 34. CAP Acronym Consistency: Multiple values for the same piece of data are not allowed. Availability: If a non-failing node can be reached the system functions. Partition-Tolerance: Regardless of packet loss, if a non-failing node is reached the system functions. PDX 2010
  • 35. CAP Theorem Consistency, Availability, Partition- Tolerance: Choose One... PDX 2010
  • 36. CAP Theorem Single node systems bound by CAP. 100% Partition-tolerant 100% Consistent No Availability Guarantee PDX 2010
  • 37. CAP Theorem Multi-node systems bound by CAP. CA : DT, 2PC, ACID CP : Quorum, distributed databases AP : Dynamo, no ACID PDX 2010
  • 38. CAP Theorem CAP doesn't say AP systems are the solution to your problem. Not an absolute decision. Most systems are a hybrid of CA, CP, & AP. PDX 2010
  • 39. CAP Theorem Understand the trade-offs and use that understanding to build a system that fails predictably. Enables you to build a system that degrades gracefully during a failure. PDX 2010
  • 40. BASE Dan Pritchett BASE: An ACID Alternative Associate for Computing Machinery Queue, 2008 PDX 2010
  • 41. BASE BASE: An ACID Alternative Basically Available Soft State Eventually Consistent PDX 2010
  • 42. BASE BASE: An ACID Alternative Basically Available Soft State Eventually Consistent PDX 2010
  • 43. Eventually Consistent Rename to Managed Consistency. Does not mean probable or hopeful or indefinite time in the future. Describes what happens during a failure. PDX 2010
  • 44. Eventually Consistent During certain scenarios a decision must be made to either return inconsistent data or deny a request. EC allows you control the level of consistency vs. availability in your application. PDX 2010
  • 45. Eventually Consistent In order to achieve availability in an asynchronous system, accept that failures are going to happen. Understand failure points and know what you are willing to give up in order to achieve availability. PDX 2010
  • 46. How can we model the operations we perform on our data to be asynchronous & EC? PDX 2010
  • 47. Model system as a network of independent components. Partition components along functional boundaries. Don't interact with your data as one big global state. PDX 2010
  • 48. This doesn't meant every part of your system must operate this way! Use ACID 2.0 to help identify and architect components than can. PDX 2010
  • 49. ACID 2.0 Associative Order of operations does not change the result. Commutative Operations can be aggregated in any order. Idempotent Operation can be applied multiple times without changing the result. Distributed Operations are distributed and processed asynchronously. PDX 2010
  • 50. OPS BROS Incremental scalability Homogeneous node responsibilities Heterogeneous node capabilities PDX 2010
  • 51. LINKS Base: An ACID Alternative Into the Clouds on New Acid Brewer's CAP theorem Embracing Concurrency At Scale Amazon's Dynamo PDX 2010
  • 52. ME http://sorescode.com http://github.com/gotascii http://spkr8.com/s/1 @vigemarn PDX 2010