+ All Categories
Home > Technology > Data System - Human fault-tolerance

Data System - Human fault-tolerance

Date post: 26-Jan-2015
Category:
Upload: trieu-nguyen
View: 113 times
Download: 2 times
Share this document with a friend
Description:
 
Popular Tags:
39
Human fault-tolerance Nathan Marz Twitter 1
Transcript
Page 1: Data System  - Human fault-tolerance

Human fault-tolerance

Nathan MarzTwitter 1

Page 2: Data System  - Human fault-tolerance

What is a data system?

A system that manages the storage and querying of data

Page 3: Data System  - Human fault-tolerance

What is a data system?

A system that manages the storage and querying of data with a lifetime measured in years

Page 4: Data System  - Human fault-tolerance

What is a data system?

A system that manages the storage and querying of data with a lifetime measured in years encompassing every version of the application to ever exist

Page 5: Data System  - Human fault-tolerance

What is a data system?

A system that manages the storage and querying of data with a lifetime measured in years encompassing every version of the application to ever exist, every hardware failure

Page 6: Data System  - Human fault-tolerance

What is a data system?

A system that manages the storage and querying of data with a lifetime measured in years encompassing every version of the application to ever exist, every hardware failure, and every human mistake ever made

Page 7: Data System  - Human fault-tolerance
Page 8: Data System  - Human fault-tolerance
Page 9: Data System  - Human fault-tolerance
Page 10: Data System  - Human fault-tolerance
Page 11: Data System  - Human fault-tolerance

+

Page 12: Data System  - Human fault-tolerance
Page 13: Data System  - Human fault-tolerance
Page 14: Data System  - Human fault-tolerance
Page 15: Data System  - Human fault-tolerance
Page 16: Data System  - Human fault-tolerance

We don’t know how to make perfect software

Page 17: Data System  - Human fault-tolerance

PaxosreplicationCRC’sBASEquorum

tunable consistencyactive anti-entropymerkle treesread repairconsistent hashing

Machine fault-tolerance

Page 18: Data System  - Human fault-tolerance
Page 19: Data System  - Human fault-tolerance

The worst consequence is data loss or data corruption

Page 20: Data System  - Human fault-tolerance

As long as an error doesn’t lose or corrupt good data,

you can fix what went wrong

Page 21: Data System  - Human fault-tolerance

This brings us to mutability

Page 22: Data System  - Human fault-tolerance

Mutability

Page 23: Data System  - Human fault-tolerance

The U and D in CRUD

Page 24: Data System  - Human fault-tolerance

Mutable systems inherently lack human fault-tolerance

Page 25: Data System  - Human fault-tolerance

Very easy for a mistake to corrupt or lose data

Page 26: Data System  - Human fault-tolerance

Immutability

Page 27: Data System  - Human fault-tolerance

Immutability• An immutable system captures a historical record of events• Each event happens at a particular time and is always true

Page 28: Data System  - Human fault-tolerance

Capturing change with mutable data model

Person Location

Sally Philadelphia

Bob Chicago

Person Location

Sally New York

Bob Chicago

Sally moves to New York

Page 29: Data System  - Human fault-tolerance

Capturing change with immutable data model

Person Location Time

Sally Philadelphia 1318358351

Bob Chicago 1327928370

Person Location Time

Sally Philadelphia 1318358351

Bob Chicago 1327928370

Sally New York 1338469380

Sally moves to New York

Page 30: Data System  - Human fault-tolerance

Immutability greatly restricts the range of errors that can cause

data loss or data corruption

Page 31: Data System  - Human fault-tolerance

Vastly more human fault-tolerant

Page 32: Data System  - Human fault-tolerance

Plus much easier to reason about systems based on immutability

Page 33: Data System  - Human fault-tolerance

What can we conclude?

Page 34: Data System  - Human fault-tolerance

Your source of truth should be immutable

Page 35: Data System  - Human fault-tolerance

Rather than build systems like this...

ApplicationMutable database

SOURCE OF TRUTH

Page 36: Data System  - Human fault-tolerance

Rather than build systems like this...

Application

MySQLCassandra

HBaseVoldemort

Riak...

SOURCE OF TRUTH

Page 37: Data System  - Human fault-tolerance

...build them like this

ApplicationViewImmutable

data

SOURCE OF TRUTH

Page 38: Data System  - Human fault-tolerance

...build them like this

Application

CassandraHBase

VoldemortRiak

ElephantDB...

HDFS

SOURCE OF TRUTH

Page 39: Data System  - Human fault-tolerance

Long live immutability(forgive the pun)


Recommended