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

Analyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_CassandraAnalyzing_Data_with_Spark_and_Cassandra
Analyzing_Data_with_Spark_and_Cassandra
Rich Beaudoin
 
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
DataWorks Summit
 

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

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
Raghavendra 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

Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
MsecMca
 

Recently uploaded (20)

Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 

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