SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
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
 

Kürzlich hochgeladen (20)

Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
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
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
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...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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
 
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
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
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.
 

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