SlideShare a Scribd company logo
1 of 55
Download to read offline
ACIDic Clusters 
Review of contemporary ACID-compliant databases with 
synchronous replication 
Fossetcon 2014 
Raghavendra Prabhu 
raghavendra.prabhu@percona.com 
Percona 
12 September, 2014 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
Outline 
1 Introduction 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
Outline 
1 Introduction 
2 Review 
Architecture 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
Outline 
1 Introduction 
2 Review 
Architecture 
3 Epilogue 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
Introduction 
Seed quotes.. 
“’Network is reliable’ - a fallacy of the distributed 
system.” 
“A distributed system is one in which the failure of a 
computer you didn’t even know existed can render your own 
computer unusable.” - Leslie Lamport 
“Those who would give up essential correctness, to 
purchase a little temporary scalability, deserve neither 
correctness nor scalability.” - Leif Walsh 
“A given row can’t be modified more than once per 
RTT." - Alexey Yurchenko 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 2 / 42
Introduction 
Introduction 
I A twist on CAP 
Pick any Two? 
 ACID 
 SQL 
 Synchronous replication 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
Introduction 
Introduction 
I A twist on CAP 
Pick any Two? 
 ACID 
 SQL 
 Synchronous replication 
I Solution: Don’t have to pick! 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
Introduction 
Introduction 
I A twist on CAP 
Pick any Two? 
 ACID 
 SQL 
 Synchronous replication 
I Solution: Don’t have to pick! 
I CAP and latency - eventual consistency 
I Lambda architecture 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
Introduction 
RAS 
I Why Synchronous 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
 Latency! 
I Do we need ACID? 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
 Latency! 
I Do we need ACID? 
 Depends! 
 Concurrent workload 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
 Latency! 
I Do we need ACID? 
 Depends! 
 Concurrent workload 
I Relational database 
 Can it be a KV/document store? 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
 Latency! 
I Do we need ACID? 
 Depends! 
 Concurrent workload 
I Relational database 
 Can it be a KV/document store? 
 Everyone wants SQL though. 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Introduction 
RAS 
I Why Synchronous 
 Symmetry 
? Easier to manage and conceive 
? Build once, deploy everywhere! 
 Latency! 
I Do we need ACID? 
 Depends! 
 Concurrent workload 
I Relational database 
 Can it be a KV/document store? 
 Everyone wants SQL though. 
 Beats every other API! 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
Review 
Contemporary systems 
I PXC/Galera 
I NDB Cluster 
I Google F1 
I Others - FoundationDB, CockroachDB 
I Not talking of comparisons/benchmarks. 
I Apples and Pineapples! 
(Since they are all clusters) 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 7 / 42
Review 
Family of Synchronous Systems 
I Transactional replication 
 Overhead and workarounds 
 One-copy equivalence 
 NDB: 2 PC 
I Virtual Synchrony 
 Extended Virtual Synchrony: Galera 
I Multi-phase 
 Paxos: Google F1 
 Also 2PC 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 8 / 42
Review Architecture 
Layers 
I Necessity 
 Strengths 
 Degrees of freedom 
I Monolithic v/s Layered 
 Monolithic - Galera 
 Layered - F1/Spanner, NDB(?) 
I Implications 
 Failures 
 Debugging 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 9 / 42
Review Architecture 
Storage 
I Unbundling of translation and data 
I Different strategies 
 Spanner 
? CFS underneath 
? Provides guarantees in replication 
 Hierarchical storage 
 NDB 
? Separatation of data and management nodes 
? Hybrid storage 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 11 / 42
Review Architecture 
Storage 
I WSREP 
 Plugin system for Galera Provider 
? InnoDB 
? More tightly bound 
? In-memory and ring-buffers 
 Transaction awareness 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 12 / 42
Review Architecture 
Storage 
I Statelessness 
 Virtual Synchrony 
? Causality 
 Loose/Tight Binding 
 Consequences 
? Co-ordination issue 
? Flexibility 
? Transitivity 
? Uncoupled relation 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 13 / 42
Review Architecture 
Relational Database 
I NoSQL / NewSQL / OldSQL 
 New wine in old bottle? 
 Approach towards ACIDity. 
? Pros and Cons 
? The Fit 
 Does NoSQL meet RAS 
? Eventual (in)Consistency 
? Strict definitions 
? Instrumentation 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 14 / 42
Review Architecture 
Relational Database 
I Role of API 
 Presence of Layer 
 Nature of storage 
 API defines data model? 
I NoSQL access to SQL 
I ORM 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 16 / 42
Review Architecture 
Degree of Synchronicity 
I Latency is a killer! 
 Amortization 
I Synchronicity imply Causality? 
I Commutative writesets 
I Role of Applications/Architecture 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 18 / 42
Review Architecture 
ACIDity 
I ACIDity test? 
I BASE and NoSQL 
I MVCC and Synchronous Replication 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 19 / 42
Review Architecture 
ACIDity 
I Does ACID require synchronous OR 
I Does Synchronous demand ACIDity? 
 Reconciliation requires it. 
? Expensive without 
? Rollbacks 
 ACID possible without Relational semantics? 
 Thought: Filesystems with replication 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 21 / 42
Review Architecture 
Locking 
I Optimistic Concurrency 
 Reduce communication 
? WWW/HTTP 
 Software Transactional Memory 
? Lock elision 
? Natural to Databases 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 23 / 42
Review Architecture 
Locking 
I Conflicts and Deadlocks 
 Limiting factor: Amdahl’s 
 Scale: number of nodes and size of transactions 
= Quadratic or Quinary 
= Not strictly bound 
= Only a strict lower bound 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 24 / 42
Review Architecture 
Locking 
I Pessimistic Locking 
 Performance 
 Network Overhead 
? More roundtrips 
? Pipeline/Batching 
I Hybrid approach 
 Switching 
I Granularity of Locking 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 25 / 42
Review Architecture 
Locking 
I Externalities 
 GPS clock - Google F1 
Controlled conditions 
Limitations 
 Lock Managers: Zookeeper, Chubby 
I Lamport timestamps! 
 A Zeitgeber! 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 27 / 42
Review Architecture 
Integration 
I Scaling the system upwards 
I Composable Transactions 
I XA Support 
I Extensibility 
 Adding other storage engines: PSA 
I Geographic Replication 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 28 / 42
Review Architecture 
Sharding 
I Systems that support it 
I Issues of Quorum 
I Adding support externally 
 Spider Engine 
 Cluster of clusters 
 MySQL Fabric? 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 29 / 42
Review Architecture 
Transition 
I From single node to a cluster 
I Idempotency of transactions 
I Integration with Async replication 
I Loss of key parts 
 Degree of ACIDity 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 30 / 42
Review Architecture 
Operational usage 
I Resource Manager 
 Moving parts 
 Reduces the confusion 
I Backups 
 Impact on cluster operations 
 Logical and Physical backups 
 NoSQL interface 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 31 / 42
Review Architecture 
Operational usage 
I Integration with other HA 
 Load balancers and Proxies 
 Fencing / STONITH 
 Resource Managers 
? Pacemaker 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 32 / 42
Review Architecture 
Eventual Consistency 
“not consistent right now, maybe come back later and 
things will be better” 
“Full transactional consistency is one of the most 
important properties of F1.” 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 34 / 42
Review Architecture 
EC: Qualitative Analysis 
I Active analysis 
 System-centric 
 Convergence time 
I Passive analysis 
 Distributed tracing 
 Dangling reads 
 Client-centric 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 35 / 42
Review Architecture 
EC: Qualitative Analysis 
I Guarantees 
 Latency and staleness 
 Monotonic reads 
 Causality 
 k|delta - atomicity 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 36 / 42
Epilogue 
Limitations 
I None! 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 38 / 42
Epilogue 
Limitations 
I None! 
I Silver bullet? 
I Where you may want Async / delay 
I Hot updates/inserts 
I Schema changes 
I Compromise on strictness/features/performance 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 38 / 42
Epilogue 
Further Reading 
I Is this a solved problem? 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 39 / 42
Epilogue 
Further Reading 
I Is this a solved problem? May be not. 
I The Dangers of Replication and a Solution 
I Replication Using Group Communication Over a Partitioned Network 
I Transaction Processing: Concepts and Techniques 
I F1: A Distributed SQL Database That Scales 
I Eventually Consistent: Not What You Were Expecting? 
I The Layer Concept 
I Don’t Settle for Eventual Consistency 
I Lambda Architecture 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 39 / 42
Epilogue 
Image Credits 
I http://upload.wikimedia.org/wikipedia/commons/e/e8/Latency_map_ 
world.png 
I http://blog.wikimedia.org/2014/07/09/ 
how-ripe-atlas-helped-wikipedia-users/ 
I https://secure.flickr.com/photos/alexbrn/5584251627 
I https://secure.flickr.com/photos/russmorris/407778776 
I https://secure.flickr.com/photos/carlosluzz/561920999 
I https://secure.flickr.com/photos/eiriknewth/282268782 
I https://secure.flickr.com/photos/shaireproductions/5509387767 
I https://secure.flickr.com/photos/grantmac/3049823203 
I http://guide.couchdb.org/draft/consistency/01.png 
I http://www.yeeach.com/post/583 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 40 / 42
Epilogue 
Summary 
I Questions 
I Theories 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 41 / 42
Epilogue 
About 
I /me: Raghavendra Prabhu, Product Lead, Percona XtraDB 
Cluster, Percona. 
I Slides will be at http://www.slideshare.net/slidunder 
I Twitter: randomsurfer 
I LinkedIn: rdprabhu 
I Github: ronin13 
I Presentation under CC BY-SA 4.0 
Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 42 / 42

More Related Content

Similar to Acidic clusters - Review of contemporary ACID-compliant databases with synchronous replication - Fossetcon 2014

Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker Raghavendra Prabhu
 
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonApache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonChristian Perone
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cTrivadis
 
SDN MeetUp - JR River's presentation
SDN MeetUp - JR River's presentationSDN MeetUp - JR River's presentation
SDN MeetUp - JR River's presentationCumulus Networks
 
Bring the Spark To Your Eyes
Bring the Spark To Your EyesBring the Spark To Your Eyes
Bring the Spark To Your EyesDemi Ben-Ari
 
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...Ontico
 
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groups
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability GroupsSQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groups
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groupsturgaysahtiyan
 
Analyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraAnalyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraRich Beaudoin
 
Oracle Active Data Guard 12cR2. Is it the best option?
Oracle Active Data Guard 12cR2. Is it the best option?Oracle Active Data Guard 12cR2. Is it the best option?
Oracle Active Data Guard 12cR2. Is it the best option?Ludovico Caldara
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseScyllaDB
 
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Pradeeban Kathiravelu, Ph.D.
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentFabian Keller
 
Redhat - rhcs 2017 past, present and future
Redhat - rhcs 2017  past, present and futureRedhat - rhcs 2017  past, present and future
Redhat - rhcs 2017 past, present and futureinwin stack
 
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...DataStax Academy
 
Is Cloud a right Companion for Hadoop
Is Cloud a right Companion for HadoopIs Cloud a right Companion for Hadoop
Is Cloud a right Companion for HadoopDataWorks Summit
 
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek Alumni
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek AlumniSpark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek Alumni
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek AlumniDemi Ben-Ari
 
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt Stam
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt StamSaturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt Stam
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt StamKurt Stam
 

Similar to Acidic clusters - Review of contemporary ACID-compliant databases with synchronous replication - Fossetcon 2014 (20)

Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker Dock'em: Distributed Systems Testing with NetEm and Docker
Dock'em: Distributed Systems Testing with NetEm and Docker
 
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonApache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
 
Oracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12cOracle Failover Database Cluster with Grid Infrastructure 12c
Oracle Failover Database Cluster with Grid Infrastructure 12c
 
SDN MeetUp - JR River's presentation
SDN MeetUp - JR River's presentationSDN MeetUp - JR River's presentation
SDN MeetUp - JR River's presentation
 
Bring the Spark To Your Eyes
Bring the Spark To Your EyesBring the Spark To Your Eyes
Bring the Spark To Your Eyes
 
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...
Corpus collapsum - устойчивость Galera к партиционированию, Raghavendra Prabh...
 
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groups
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability GroupsSQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groups
SQLSaturday Bulgaria : HA & DR with SQL Server AlwaysOn Availability Groups
 
Analyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraAnalyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_Cassandra
 
Oracle Active Data Guard 12cR2. Is it the best option?
Oracle Active Data Guard 12cR2. Is it the best option?Oracle Active Data Guard 12cR2. Is it the best option?
Oracle Active Data Guard 12cR2. Is it the best option?
 
Spark vs Hadoop
Spark vs HadoopSpark vs Hadoop
Spark vs Hadoop
 
Critical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency DatabaseCritical Attributes for a High-Performance, Low-Latency Database
Critical Attributes for a High-Performance, Low-Latency Database
 
Cassandra via-docker
Cassandra via-dockerCassandra via-docker
Cassandra via-docker
 
MySQL-and-virtualization
MySQL-and-virtualizationMySQL-and-virtualization
MySQL-and-virtualization
 
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
Selective Redundancy in Network-as-a-Service: Differentiated QoS in Multi-Ten...
 
Introducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification EnvironmentIntroducing Performance Awareness in an Integrated Specification Environment
Introducing Performance Awareness in an Integrated Specification Environment
 
Redhat - rhcs 2017 past, present and future
Redhat - rhcs 2017  past, present and futureRedhat - rhcs 2017  past, present and future
Redhat - rhcs 2017 past, present and future
 
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...
Cassandra Day Denver 2014: Feelin' the Flow: Analyzing Data with Spark and Ca...
 
Is Cloud a right Companion for Hadoop
Is Cloud a right Companion for HadoopIs Cloud a right Companion for Hadoop
Is Cloud a right Companion for Hadoop
 
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek Alumni
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek AlumniSpark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek Alumni
Spark 101 – First Steps To Distributed Computing - Demi Ben-Ari @ Ofek Alumni
 
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt Stam
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt StamSaturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt Stam
Saturn 2019 - Serveless Integration on Kubernetes/OpenShift by Kurt Stam
 

More from Raghavendra Prabhu

Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTARaghavendra Prabhu
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesRaghavendra Prabhu
 
Cassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTACassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTARaghavendra Prabhu
 
Safe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and ProfitSafe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and ProfitRaghavendra Prabhu
 
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesOrchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesRaghavendra Prabhu
 
Pass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and BeyondPass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and BeyondRaghavendra Prabhu
 
Cassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesCassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesRaghavendra Prabhu
 
Taskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerTaskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerRaghavendra Prabhu
 
Taskerman - a distributed cluster task manager
Taskerman - a distributed cluster task managerTaskerman - a distributed cluster task manager
Taskerman - a distributed cluster task managerRaghavendra Prabhu
 
Linux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and OpportunitiesLinux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and OpportunitiesRaghavendra Prabhu
 
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut:  Orchestrating  Percona XtraDB Cluster with KubernetesClusternaut:  Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut: Orchestrating  Percona XtraDB Cluster with KubernetesRaghavendra Prabhu
 
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.Raghavendra Prabhu
 
Working from home - fun, facts and scares!
Working from home -  fun, facts and scares!Working from home -  fun, facts and scares!
Working from home - fun, facts and scares!Raghavendra Prabhu
 
Securing databases with systemd for containers and services
Securing databases with systemd for containers and services Securing databases with systemd for containers and services
Securing databases with systemd for containers and services Raghavendra Prabhu
 
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm Raghavendra Prabhu
 
Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body Raghavendra Prabhu
 
Percona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testingPercona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testingRaghavendra Prabhu
 
Feed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysedFeed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysedRaghavendra Prabhu
 

More from Raghavendra Prabhu (19)

Orchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTAOrchestrating Cassandra with Kubernetes Operator and PaaSTA
Orchestrating Cassandra with Kubernetes Operator and PaaSTA
 
Orchestrating Cassandra with Kubernetes
Orchestrating Cassandra with KubernetesOrchestrating Cassandra with Kubernetes
Orchestrating Cassandra with Kubernetes
 
Cassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTACassandra Operator with Yelp PaaSTA
Cassandra Operator with Yelp PaaSTA
 
Safe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and ProfitSafe and Fast Automation on AWS for Fun and Profit
Safe and Fast Automation on AWS for Fun and Profit
 
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and OpportunitiesOrchestrating Cassandra with Kubernetes: Challenges and Opportunities
Orchestrating Cassandra with Kubernetes: Challenges and Opportunities
 
Pass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and BeyondPass Elk: CAP Theorem since 90s and Beyond
Pass Elk: CAP Theorem since 90s and Beyond
 
Cassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and ChallengesCassandra in Docker at Yelp: Opportunities and Challenges
Cassandra in Docker at Yelp: Opportunities and Challenges
 
Taskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task ManagerTaskerman: A Distributed Cluster Task Manager
Taskerman: A Distributed Cluster Task Manager
 
Taskerman - a distributed cluster task manager
Taskerman - a distributed cluster task managerTaskerman - a distributed cluster task manager
Taskerman - a distributed cluster task manager
 
Linux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and OpportunitiesLinux NUMA & Databases: Perils and Opportunities
Linux NUMA & Databases: Perils and Opportunities
 
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut:  Orchestrating  Percona XtraDB Cluster with KubernetesClusternaut:  Orchestrating  Percona XtraDB Cluster with Kubernetes
Clusternaut: Orchestrating  Percona XtraDB Cluster with Kubernetes
 
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
Clusternaut: Orchestrating Percona XtraDB Cluster with Kubernetes.
 
Working from home - fun, facts and scares!
Working from home -  fun, facts and scares!Working from home -  fun, facts and scares!
Working from home - fun, facts and scares!
 
Securing databases with systemd for containers and services
Securing databases with systemd for containers and services Securing databases with systemd for containers and services
Securing databases with systemd for containers and services
 
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
Corpus collapsum: Partition tolerance testing of Galera with Docker and NetEm
 
Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body Jutsu or Dô: Open documentation: continuous process than a body
Jutsu or Dô: Open documentation: continuous process than a body
 
Percona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testingPercona XtraDB Cluster before every release: Glimpse into CI testing
Percona XtraDB Cluster before every release: Glimpse into CI testing
 
Feed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysedFeed me more: MySQL Memory analysed
Feed me more: MySQL Memory analysed
 
Xtrabackup and FTWRL
Xtrabackup and FTWRLXtrabackup and FTWRL
Xtrabackup and FTWRL
 

Recently uploaded

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...RajaP95
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 

Recently uploaded (20)

High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
IMPLICATIONS OF THE ABOVE HOLISTIC UNDERSTANDING OF HARMONY ON PROFESSIONAL E...
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 

Acidic clusters - Review of contemporary ACID-compliant databases with synchronous replication - Fossetcon 2014

  • 1. ACIDic Clusters Review of contemporary ACID-compliant databases with synchronous replication Fossetcon 2014 Raghavendra Prabhu raghavendra.prabhu@percona.com Percona 12 September, 2014 Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
  • 2. Outline 1 Introduction Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
  • 3. Outline 1 Introduction 2 Review Architecture Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
  • 4. Outline 1 Introduction 2 Review Architecture 3 Epilogue Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 1 / 42
  • 5. Introduction Seed quotes.. “’Network is reliable’ - a fallacy of the distributed system.” “A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.” - Leslie Lamport “Those who would give up essential correctness, to purchase a little temporary scalability, deserve neither correctness nor scalability.” - Leif Walsh “A given row can’t be modified more than once per RTT." - Alexey Yurchenko Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 2 / 42
  • 6.
  • 7. Introduction Introduction I A twist on CAP Pick any Two? ACID SQL Synchronous replication Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
  • 8. Introduction Introduction I A twist on CAP Pick any Two? ACID SQL Synchronous replication I Solution: Don’t have to pick! Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
  • 9. Introduction Introduction I A twist on CAP Pick any Two? ACID SQL Synchronous replication I Solution: Don’t have to pick! I CAP and latency - eventual consistency I Lambda architecture Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 4 / 42
  • 10.
  • 11. Introduction RAS I Why Synchronous Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 12. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 13. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Latency! I Do we need ACID? Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 14. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Latency! I Do we need ACID? Depends! Concurrent workload Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 15. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Latency! I Do we need ACID? Depends! Concurrent workload I Relational database Can it be a KV/document store? Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 16. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Latency! I Do we need ACID? Depends! Concurrent workload I Relational database Can it be a KV/document store? Everyone wants SQL though. Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 17. Introduction RAS I Why Synchronous Symmetry ? Easier to manage and conceive ? Build once, deploy everywhere! Latency! I Do we need ACID? Depends! Concurrent workload I Relational database Can it be a KV/document store? Everyone wants SQL though. Beats every other API! Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 6 / 42
  • 18. Review Contemporary systems I PXC/Galera I NDB Cluster I Google F1 I Others - FoundationDB, CockroachDB I Not talking of comparisons/benchmarks. I Apples and Pineapples! (Since they are all clusters) Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 7 / 42
  • 19. Review Family of Synchronous Systems I Transactional replication Overhead and workarounds One-copy equivalence NDB: 2 PC I Virtual Synchrony Extended Virtual Synchrony: Galera I Multi-phase Paxos: Google F1 Also 2PC Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 8 / 42
  • 20. Review Architecture Layers I Necessity Strengths Degrees of freedom I Monolithic v/s Layered Monolithic - Galera Layered - F1/Spanner, NDB(?) I Implications Failures Debugging Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 9 / 42
  • 21.
  • 22. Review Architecture Storage I Unbundling of translation and data I Different strategies Spanner ? CFS underneath ? Provides guarantees in replication Hierarchical storage NDB ? Separatation of data and management nodes ? Hybrid storage Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 11 / 42
  • 23. Review Architecture Storage I WSREP Plugin system for Galera Provider ? InnoDB ? More tightly bound ? In-memory and ring-buffers Transaction awareness Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 12 / 42
  • 24. Review Architecture Storage I Statelessness Virtual Synchrony ? Causality Loose/Tight Binding Consequences ? Co-ordination issue ? Flexibility ? Transitivity ? Uncoupled relation Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 13 / 42
  • 25. Review Architecture Relational Database I NoSQL / NewSQL / OldSQL New wine in old bottle? Approach towards ACIDity. ? Pros and Cons ? The Fit Does NoSQL meet RAS ? Eventual (in)Consistency ? Strict definitions ? Instrumentation Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 14 / 42
  • 26.
  • 27. Review Architecture Relational Database I Role of API Presence of Layer Nature of storage API defines data model? I NoSQL access to SQL I ORM Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 16 / 42
  • 28.
  • 29. Review Architecture Degree of Synchronicity I Latency is a killer! Amortization I Synchronicity imply Causality? I Commutative writesets I Role of Applications/Architecture Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 18 / 42
  • 30. Review Architecture ACIDity I ACIDity test? I BASE and NoSQL I MVCC and Synchronous Replication Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 19 / 42
  • 31.
  • 32. Review Architecture ACIDity I Does ACID require synchronous OR I Does Synchronous demand ACIDity? Reconciliation requires it. ? Expensive without ? Rollbacks ACID possible without Relational semantics? Thought: Filesystems with replication Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 21 / 42
  • 33.
  • 34. Review Architecture Locking I Optimistic Concurrency Reduce communication ? WWW/HTTP Software Transactional Memory ? Lock elision ? Natural to Databases Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 23 / 42
  • 35. Review Architecture Locking I Conflicts and Deadlocks Limiting factor: Amdahl’s Scale: number of nodes and size of transactions = Quadratic or Quinary = Not strictly bound = Only a strict lower bound Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 24 / 42
  • 36. Review Architecture Locking I Pessimistic Locking Performance Network Overhead ? More roundtrips ? Pipeline/Batching I Hybrid approach Switching I Granularity of Locking Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 25 / 42
  • 37.
  • 38. Review Architecture Locking I Externalities GPS clock - Google F1 Controlled conditions Limitations Lock Managers: Zookeeper, Chubby I Lamport timestamps! A Zeitgeber! Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 27 / 42
  • 39. Review Architecture Integration I Scaling the system upwards I Composable Transactions I XA Support I Extensibility Adding other storage engines: PSA I Geographic Replication Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 28 / 42
  • 40. Review Architecture Sharding I Systems that support it I Issues of Quorum I Adding support externally Spider Engine Cluster of clusters MySQL Fabric? Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 29 / 42
  • 41. Review Architecture Transition I From single node to a cluster I Idempotency of transactions I Integration with Async replication I Loss of key parts Degree of ACIDity Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 30 / 42
  • 42. Review Architecture Operational usage I Resource Manager Moving parts Reduces the confusion I Backups Impact on cluster operations Logical and Physical backups NoSQL interface Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 31 / 42
  • 43. Review Architecture Operational usage I Integration with other HA Load balancers and Proxies Fencing / STONITH Resource Managers ? Pacemaker Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 32 / 42
  • 44.
  • 45. Review Architecture Eventual Consistency “not consistent right now, maybe come back later and things will be better” “Full transactional consistency is one of the most important properties of F1.” Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 34 / 42
  • 46. Review Architecture EC: Qualitative Analysis I Active analysis System-centric Convergence time I Passive analysis Distributed tracing Dangling reads Client-centric Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 35 / 42
  • 47. Review Architecture EC: Qualitative Analysis I Guarantees Latency and staleness Monotonic reads Causality k|delta - atomicity Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 36 / 42
  • 48.
  • 49. Epilogue Limitations I None! Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 38 / 42
  • 50. Epilogue Limitations I None! I Silver bullet? I Where you may want Async / delay I Hot updates/inserts I Schema changes I Compromise on strictness/features/performance Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 38 / 42
  • 51. Epilogue Further Reading I Is this a solved problem? Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 39 / 42
  • 52. Epilogue Further Reading I Is this a solved problem? May be not. I The Dangers of Replication and a Solution I Replication Using Group Communication Over a Partitioned Network I Transaction Processing: Concepts and Techniques I F1: A Distributed SQL Database That Scales I Eventually Consistent: Not What You Were Expecting? I The Layer Concept I Don’t Settle for Eventual Consistency I Lambda Architecture Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 39 / 42
  • 53. Epilogue Image Credits I http://upload.wikimedia.org/wikipedia/commons/e/e8/Latency_map_ world.png I http://blog.wikimedia.org/2014/07/09/ how-ripe-atlas-helped-wikipedia-users/ I https://secure.flickr.com/photos/alexbrn/5584251627 I https://secure.flickr.com/photos/russmorris/407778776 I https://secure.flickr.com/photos/carlosluzz/561920999 I https://secure.flickr.com/photos/eiriknewth/282268782 I https://secure.flickr.com/photos/shaireproductions/5509387767 I https://secure.flickr.com/photos/grantmac/3049823203 I http://guide.couchdb.org/draft/consistency/01.png I http://www.yeeach.com/post/583 Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 40 / 42
  • 54. Epilogue Summary I Questions I Theories Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 41 / 42
  • 55. Epilogue About I /me: Raghavendra Prabhu, Product Lead, Percona XtraDB Cluster, Percona. I Slides will be at http://www.slideshare.net/slidunder I Twitter: randomsurfer I LinkedIn: rdprabhu I Github: ronin13 I Presentation under CC BY-SA 4.0 Raghavendra Prabhu (Percona) ACIDic Clusters 12 September, 2014 42 / 42