SlideShare a Scribd company logo
todo lo que siempre quisiste
saber sobre:
Bases de datos
distribuídas de alta
disponibilidad
Javier Ramírez
@supercoco9
https://teowaki.com/services
MADRID · NOV 27-28 · 2015
IBM Data Center
in Japan during
and after
an earthquake
Highly available distributed databases, how they work, javier ramirez at teowaki
Highly available distributed databases, how they work, javier ramirez at teowaki
A squirrel did take out half of our
Santa Clara data centre two years back
Mike Christian, Yahoo Director of Engineering
Highly available distributed databases, how they work, javier ramirez at teowaki
Hayastan
Shakarian
a.k.a.
The Spade
Hacker
Cut-off
Armenia
from
the Internet
for almost
one day*
* By accident, while scavenging copper
I have no idea what
the internet is
Some data center outages reported in 2015:
* Amazon Web Services
* Apple iCloud
* Microsoft Azure
* IBM Softlayer
* Google Cloud Platform
* And of course every hosting with scheduled
maintenance operations (rackspace, digital
ocean, ovh...)
Complex systems can and will fail
You better distribute your data, or else...
Also, distributed databases can perform
better and run on cheaper hardware than
centralised ones
Most basic level:
Backup
And keep the copy
on a separate data centre*
* Vodafone once lost one year
of data on a fire because of this
Next
Level:
Replicas
(master-slave)
A main server sends a binary
log of changes to one or more
replicas
* Also known as Write Ahead Log or WAL
Master-slave is good but
* All the operations are replicated on all
slaves
* Good scalability on reads, but not on writes
* Cannot function during a network partition
* Single point of failure (SPOF)
Next Level:
Multi-Master Cluster
(master-master)
Every server can accept reads
or writes, and send its binary
log to all the other servers
* also referred as update-anywhere
Multi-master is great, but:
* All the operations are replicated on all masters.
* When synchronous, high latency (Consistency
achieved via locks, coordination and serializable
transactions)
* When asynchronous, typically poor conflict
resolution
*Hard to scale up or down automatically
What I want:
* A system that always can work, even with
network partitions
* That scales out both reads and writes
* On cheap commodity diverse hardware
* Running locally to your users (low latency)
* Can grow/shrink elastically and survive
server failures
Then you need to let go of
many convenient things you
take for granted in databases
Availability
Partition
Tolerance
Consistency
CA
AP
CP
CAP Theorem
Everything is a trade-off
Next Level:
Distributed Data
stores
Highly available distributed databases, how they work, javier ramirez at teowaki
Distributed DB design decisions
* data (keys) distribution
* data replication/durability
* conflict resolution
* membership
* status of the other peers
* operation under partitions and
during unavailability of peers
* incremental scalability
Data distribution
Consistent hashing based on the key
Usually implies operations work on single keys. Some
solutions, like Redis, allow the clients to group related
keys consistently. Some solutions, like BigTable, allow to
collocate data by group or family.
Queries are frequently limited to query by key or by
secondary indexes (say bye to the power of SQL)
Data distribution. The Ring
Data Replication
How many replicas of each? Typically at least 3, so in case of
conflicts there can be a quorum
Often, the distribution of keys is done taking into account the
physical location of nodes, so replicas live in different racks or
different datacentres
Replication: durability
If we want to have a durable system, we need at least to
make sure the data is replicated in at least 2 nodes before
confirming the transaction to the client.
This is called the write quorum, and in many cases it can be
configured individually.
Not all data are equally important, and not all systems have the
same R/W ratio.
Systems can be configured to be “always writable” or
“always readable”.
Conflict resolution
Can be done at Write time or at Read
time.
As long as R + W > N it's possible to
reach a quorum
Conflicts
I see a record that I thought was
deleted
I created a record but cannot see it
I have different values in two nodes
Something should be unique, but it's not
Conflict resolution strategies
Quorum-based systems: Paxos,
RAFT. Require coordination
of processes with continuous elections
of leaders and consensus.
Worse latency
Last Write Wins (LWW): Doesn't
require coordination. Good latency
But, what does “Last” mean?
* Google spanner uses atomic clocks
and servers with GPS clocks to
synchronize time
* Cassandra tries to sync clocks and
divides updates in small parts to
minimize conflict
* Dynamo-like use vector clocks
Vector clocks
* Don't need to sync time
* There are several
versions of a same item
* Need consolidation
to prune size
* Usually client needs to
fix the conflict and update
Alternatives to conflict resolution
* Conflict-Free-Replicated-Datatypes(CRDT).
Counters, Hashes, Maps
* Allowing for strong consistency on keys from the same
family
* The Uber solution with serialized tokens
* Some solutions are implementing immutability,
so no conflicts
* Peter David Bailis paper on Coordination Avoidance using
Read Atomic Multi-Partition transactions (Nov/15)
membership
gossip
infection-like
protocols
Gossip
A centralised server is a SPOF
Communicating state with each node is very time consuming
and doesn't support partitions
Gossip protocols communicate pairs of random nodes at
regular frequent intervals and exchange information.
Based on that information exchange, a new status is agreed
Gossip example
Incremental scalability
When a new node enters the system, the rest of nodes notice
via gossip.
The node claims a partition of the ring and asks
the replicas of the same partition to send data to it.
When the rest of nodes decide (after gossiping) that a node
has left the system and it's not a temporary failure, the data
assigned to the partitions of that node is copied to more
replicas to reach the N copies.
All the process is automatic and transparent.
Operation under partition:
Hinted Handoff
On a network partition, it can happen that we have less than
W nodes of the same segment in the current partition.
In this case, the data is replicated to W nodes, even if that
node wasn't responsible for the segment. The data is kept
with a “hint”, and stored in a special area.
Periodically, the server will try to contact the original
destination and will “hand off” the data to it.
Operation under partition:
Hinted Handoff
Anti Entropy
A system with handoffs can be chaotic and not very
effective
Anti Entropy is implemented to make sure hints are
handed off or synchronized to other nodes
Anti entropy is usually achieved by using Merkle Trees, a
hash of hashes structure very efficient to compare
differences between nodes
All this features mean your clients need to
be aware of some internals of the system
Clients must
* Know which close nodes are responsible for each
segment of the ring, and hash locally**
* Be aware of when nodes become available or
unavailable**
* Decide on durability
* Handle conflict resolution, unless under LWW
** some solutions offer a load balancer proxy to abstract the client
from that complexity, but trading off latency
now you know how it works
* A system that always can work, even with
network partitions
* That scales out both reads and writes
* On cheap commodity diverse hardware
* Running locally to your users (low latency)
* Can grow/shrink elastically and survive
server failures
Extra level: Build your
own distributed database
Netflix dynomite, built in Java
Uber ringpop, built in JavaScript
Not
Scared
Of You
Anymore
aprendoaprogramar.com
… y si tienes hijas o hijos en edad escolar
Find related links at
https://teowaki.com/teams/javier-community/link-categories/distributed-systems
Gracias!
Javier Ramírez
@supercoco9
need help with distributed or big data?
https://teowaki.com/services

More Related Content

PDF
Basics of the Highly Available Distributed Databases - teowaki - javier ramir...
ODP
Everything you always wanted to know about Distributed databases, at devoxx l...
PPTX
Multi-Datacenter Kafka - Strata San Jose 2017
PPTX
Strata+Hadoop 2017 San Jose: Lessons from a year of supporting Apache Kafka
PPTX
Dcs cloud architecture-high-level-design
PDF
Planning for Disaster Recovery (DR) with Galera Cluster
PPTX
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
PPTX
Virtualization
Basics of the Highly Available Distributed Databases - teowaki - javier ramir...
Everything you always wanted to know about Distributed databases, at devoxx l...
Multi-Datacenter Kafka - Strata San Jose 2017
Strata+Hadoop 2017 San Jose: Lessons from a year of supporting Apache Kafka
Dcs cloud architecture-high-level-design
Planning for Disaster Recovery (DR) with Galera Cluster
Building Reactive Fast Data & the Data Lake with Akka, Kafka, Spark
Virtualization

What's hot (20)

PDF
NoSQL Database- cassandra column Base DB
PPTX
Infrastructure Migration from Windows Server 2003 to the Cloud: An Interoute ...
PDF
Introduction to failover clustering with sql server
PDF
Beginning Operations: 7 Deadly Sins for Apache Cassandra Ops
PPTX
RedisConf18 - Techniques for Synchronizing In-Memory Caches with Redis
PDF
Achieving scale and performance using cloud native environment
PDF
Cloud stack design camp on jun 15
PPTX
The impact of cloud NSBCon NY by Yves Goeleven
PPTX
Big Data on Cloud Native Platform
PDF
VMworld 2014: Virtualize Active Directory, the Right Way!
PDF
Hazelcast 101
ODP
Distributed systems and consistency
PDF
12 best practices for virtualizing active directory DCs
PDF
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
PDF
Running an openstack instance
PDF
Architecting for the cloud elasticity security
PDF
Webinar: Diagnosing Apache Cassandra Problems in Production
PDF
Architecting for the cloud cloud providers
PPTX
Pvs slide
PPTX
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
NoSQL Database- cassandra column Base DB
Infrastructure Migration from Windows Server 2003 to the Cloud: An Interoute ...
Introduction to failover clustering with sql server
Beginning Operations: 7 Deadly Sins for Apache Cassandra Ops
RedisConf18 - Techniques for Synchronizing In-Memory Caches with Redis
Achieving scale and performance using cloud native environment
Cloud stack design camp on jun 15
The impact of cloud NSBCon NY by Yves Goeleven
Big Data on Cloud Native Platform
VMworld 2014: Virtualize Active Directory, the Right Way!
Hazelcast 101
Distributed systems and consistency
12 best practices for virtualizing active directory DCs
Application Deployment and Management at Scale with 1&1 by Matt Baldwin
Running an openstack instance
Architecting for the cloud elasticity security
Webinar: Diagnosing Apache Cassandra Problems in Production
Architecting for the cloud cloud providers
Pvs slide
Reactive Revealed Part 2: Scalability, Elasticity and Location Transparency i...
Ad

Viewers also liked (13)

PDF
Conflict resolution
PPS
Resolving Conflict (Powerpoint)
PPT
The Seven Steps to Effective Conflict Resolution
PPTX
Conflict resolution diagram tutorial
PPT
Conflict Resolution
PPTX
HOUSE RULES FOR A GREAT CHRISTIAN FAMILY
PPTX
Conflict resolution youth version power point
PPT
Conflict Resolution Skills
PPTX
Evaporating Clouds i.e. The Conflict Resolution Diagram
PPT
Conflict Management
PPTX
Conflict resolution
PDF
Conflict Resolution Strategies
PPT
CONFLICT POWERPOINT
Conflict resolution
Resolving Conflict (Powerpoint)
The Seven Steps to Effective Conflict Resolution
Conflict resolution diagram tutorial
Conflict Resolution
HOUSE RULES FOR A GREAT CHRISTIAN FAMILY
Conflict resolution youth version power point
Conflict Resolution Skills
Evaporating Clouds i.e. The Conflict Resolution Diagram
Conflict Management
Conflict resolution
Conflict Resolution Strategies
CONFLICT POWERPOINT
Ad

Similar to Highly available distributed databases, how they work, javier ramirez at teowaki (20)

PDF
Everything you always wanted to know about highly available distributed datab...
ODP
Front Range PHP NoSQL Databases
PPTX
Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
PDF
System Design Basics by Pratyush Majumdar
PDF
Distributed Systems: scalability and high availability
PPT
Handling Data in Mega Scale Web Systems
PDF
Design Patterns For Distributed NO-reational databases
PDF
Why Distributed Databases?
PPTX
UNIT II (1).pptx
PPTX
NoSQL Introduction, Theory, Implementations
PPTX
NOSQL DATABASES UNIT-3 FOR ENGINEERING STUDENTS
PDF
System design handwritten notes guidance
PDF
System Design.pdf
PPTX
Distribution Models.pptxgdfgdfgdfgfdgdfg
PDF
Intro to Databases
PDF
Design Patterns for Distributed Non-Relational Databases
PDF
Cassandra background-and-architecture
PDF
Lecture-04-Principles of data management.pdf
PDF
20230511 - PGConf Nepal - Clustering in PostgreSQL_ Because one database serv...
Everything you always wanted to know about highly available distributed datab...
Front Range PHP NoSQL Databases
Grokking Techtalk #40: Consistency and Availability tradeoff in database cluster
System Design Basics by Pratyush Majumdar
Distributed Systems: scalability and high availability
Handling Data in Mega Scale Web Systems
Design Patterns For Distributed NO-reational databases
Why Distributed Databases?
UNIT II (1).pptx
NoSQL Introduction, Theory, Implementations
NOSQL DATABASES UNIT-3 FOR ENGINEERING STUDENTS
System design handwritten notes guidance
System Design.pdf
Distribution Models.pptxgdfgdfgdfgfdgdfg
Intro to Databases
Design Patterns for Distributed Non-Relational Databases
Cassandra background-and-architecture
Lecture-04-Principles of data management.pdf
20230511 - PGConf Nepal - Clustering in PostgreSQL_ Because one database serv...

More from javier ramirez (20)

PDF
The Future of Fast Databases: Lessons from a Decade of QuestDB
PDF
Cómo hemos implementado semántica de "Exactly Once" en nuestra base de datos ...
PDF
How We Added Replication to QuestDB - JonTheBeach
PDF
The Building Blocks of QuestDB, a Time Series Database
PDF
¿Se puede vivir del open source? T3chfest
PDF
QuestDB: The building blocks of a fast open-source time-series database
PDF
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
PDF
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
PDF
Deduplicating and analysing time-series data with Apache Beam and QuestDB
PDF
Your Database Cannot Do this (well)
PDF
Your Timestamps Deserve Better than a Generic Database
PDF
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
PDF
QuestDB-Community-Call-20220728
PDF
Processing and analysing streaming data with Python. Pycon Italy 2022
PDF
QuestDB: ingesting a million time series per second on a single instance. Big...
PDF
Servicios e infraestructura de AWS y la próxima región en Aragón
PPTX
Primeros pasos en desarrollo serverless
PDF
How AWS is reinventing the cloud
PDF
Analitica de datos en tiempo real con Apache Flink y Apache BEAM
PDF
Getting started with streaming analytics
The Future of Fast Databases: Lessons from a Decade of QuestDB
Cómo hemos implementado semántica de "Exactly Once" en nuestra base de datos ...
How We Added Replication to QuestDB - JonTheBeach
The Building Blocks of QuestDB, a Time Series Database
¿Se puede vivir del open source? T3chfest
QuestDB: The building blocks of a fast open-source time-series database
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Ingesting Over Four Million Rows Per Second With QuestDB Timeseries Database ...
Deduplicating and analysing time-series data with Apache Beam and QuestDB
Your Database Cannot Do this (well)
Your Timestamps Deserve Better than a Generic Database
Cómo se diseña una base de datos que pueda ingerir más de cuatro millones de ...
QuestDB-Community-Call-20220728
Processing and analysing streaming data with Python. Pycon Italy 2022
QuestDB: ingesting a million time series per second on a single instance. Big...
Servicios e infraestructura de AWS y la próxima región en Aragón
Primeros pasos en desarrollo serverless
How AWS is reinventing the cloud
Analitica de datos en tiempo real con Apache Flink y Apache BEAM
Getting started with streaming analytics

Recently uploaded (20)

PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
medical staffing services at VALiNTRY
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Nekopoi APK 2025 free lastest update
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Upgrade and Innovation Strategies for SAP ERP Customers
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Odoo Companies in India – Driving Business Transformation.pdf
PTS Company Brochure 2025 (1).pdf.......
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Softaken Excel to vCard Converter Software.pdf
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
medical staffing services at VALiNTRY
wealthsignaloriginal-com-DS-text-... (1).pdf
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Design an Analysis of Algorithms I-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Design an Analysis of Algorithms II-SECS-1021-03
Nekopoi APK 2025 free lastest update

Highly available distributed databases, how they work, javier ramirez at teowaki

  • 1. todo lo que siempre quisiste saber sobre: Bases de datos distribuídas de alta disponibilidad Javier Ramírez @supercoco9 https://teowaki.com/services MADRID · NOV 27-28 · 2015
  • 2. IBM Data Center in Japan during and after an earthquake
  • 5. A squirrel did take out half of our Santa Clara data centre two years back Mike Christian, Yahoo Director of Engineering
  • 8. Cut-off Armenia from the Internet for almost one day* * By accident, while scavenging copper
  • 9. I have no idea what the internet is
  • 10. Some data center outages reported in 2015: * Amazon Web Services * Apple iCloud * Microsoft Azure * IBM Softlayer * Google Cloud Platform * And of course every hosting with scheduled maintenance operations (rackspace, digital ocean, ovh...)
  • 11. Complex systems can and will fail
  • 12. You better distribute your data, or else... Also, distributed databases can perform better and run on cheaper hardware than centralised ones
  • 14. And keep the copy on a separate data centre* * Vodafone once lost one year of data on a fire because of this
  • 16. A main server sends a binary log of changes to one or more replicas * Also known as Write Ahead Log or WAL
  • 17. Master-slave is good but * All the operations are replicated on all slaves * Good scalability on reads, but not on writes * Cannot function during a network partition * Single point of failure (SPOF)
  • 19. Every server can accept reads or writes, and send its binary log to all the other servers * also referred as update-anywhere
  • 20. Multi-master is great, but: * All the operations are replicated on all masters. * When synchronous, high latency (Consistency achieved via locks, coordination and serializable transactions) * When asynchronous, typically poor conflict resolution *Hard to scale up or down automatically
  • 21. What I want: * A system that always can work, even with network partitions * That scales out both reads and writes * On cheap commodity diverse hardware * Running locally to your users (low latency) * Can grow/shrink elastically and survive server failures
  • 22. Then you need to let go of many convenient things you take for granted in databases
  • 26. Distributed DB design decisions * data (keys) distribution * data replication/durability * conflict resolution * membership * status of the other peers * operation under partitions and during unavailability of peers * incremental scalability
  • 27. Data distribution Consistent hashing based on the key Usually implies operations work on single keys. Some solutions, like Redis, allow the clients to group related keys consistently. Some solutions, like BigTable, allow to collocate data by group or family. Queries are frequently limited to query by key or by secondary indexes (say bye to the power of SQL)
  • 29. Data Replication How many replicas of each? Typically at least 3, so in case of conflicts there can be a quorum Often, the distribution of keys is done taking into account the physical location of nodes, so replicas live in different racks or different datacentres
  • 30. Replication: durability If we want to have a durable system, we need at least to make sure the data is replicated in at least 2 nodes before confirming the transaction to the client. This is called the write quorum, and in many cases it can be configured individually. Not all data are equally important, and not all systems have the same R/W ratio. Systems can be configured to be “always writable” or “always readable”.
  • 31. Conflict resolution Can be done at Write time or at Read time. As long as R + W > N it's possible to reach a quorum
  • 32. Conflicts I see a record that I thought was deleted I created a record but cannot see it I have different values in two nodes Something should be unique, but it's not
  • 33. Conflict resolution strategies Quorum-based systems: Paxos, RAFT. Require coordination of processes with continuous elections of leaders and consensus. Worse latency Last Write Wins (LWW): Doesn't require coordination. Good latency
  • 34. But, what does “Last” mean? * Google spanner uses atomic clocks and servers with GPS clocks to synchronize time * Cassandra tries to sync clocks and divides updates in small parts to minimize conflict * Dynamo-like use vector clocks
  • 35. Vector clocks * Don't need to sync time * There are several versions of a same item * Need consolidation to prune size * Usually client needs to fix the conflict and update
  • 36. Alternatives to conflict resolution * Conflict-Free-Replicated-Datatypes(CRDT). Counters, Hashes, Maps * Allowing for strong consistency on keys from the same family * The Uber solution with serialized tokens * Some solutions are implementing immutability, so no conflicts * Peter David Bailis paper on Coordination Avoidance using Read Atomic Multi-Partition transactions (Nov/15)
  • 38. Gossip A centralised server is a SPOF Communicating state with each node is very time consuming and doesn't support partitions Gossip protocols communicate pairs of random nodes at regular frequent intervals and exchange information. Based on that information exchange, a new status is agreed
  • 40. Incremental scalability When a new node enters the system, the rest of nodes notice via gossip. The node claims a partition of the ring and asks the replicas of the same partition to send data to it. When the rest of nodes decide (after gossiping) that a node has left the system and it's not a temporary failure, the data assigned to the partitions of that node is copied to more replicas to reach the N copies. All the process is automatic and transparent.
  • 41. Operation under partition: Hinted Handoff On a network partition, it can happen that we have less than W nodes of the same segment in the current partition. In this case, the data is replicated to W nodes, even if that node wasn't responsible for the segment. The data is kept with a “hint”, and stored in a special area. Periodically, the server will try to contact the original destination and will “hand off” the data to it.
  • 43. Anti Entropy A system with handoffs can be chaotic and not very effective Anti Entropy is implemented to make sure hints are handed off or synchronized to other nodes Anti entropy is usually achieved by using Merkle Trees, a hash of hashes structure very efficient to compare differences between nodes
  • 44. All this features mean your clients need to be aware of some internals of the system
  • 45. Clients must * Know which close nodes are responsible for each segment of the ring, and hash locally** * Be aware of when nodes become available or unavailable** * Decide on durability * Handle conflict resolution, unless under LWW ** some solutions offer a load balancer proxy to abstract the client from that complexity, but trading off latency
  • 46. now you know how it works * A system that always can work, even with network partitions * That scales out both reads and writes * On cheap commodity diverse hardware * Running locally to your users (low latency) * Can grow/shrink elastically and survive server failures
  • 47. Extra level: Build your own distributed database Netflix dynomite, built in Java Uber ringpop, built in JavaScript
  • 49. aprendoaprogramar.com … y si tienes hijas o hijos en edad escolar
  • 50. Find related links at https://teowaki.com/teams/javier-community/link-categories/distributed-systems Gracias! Javier Ramírez @supercoco9 need help with distributed or big data? https://teowaki.com/services