Transakce ...tam a zase zpátky

 

 

Ondřej Chaloupka

jOpenSpace 2019

Jsou transakce zlo?

Databáze

1983
ACID

  • Principles of Transaction-Oriented Database Recovery, Andreas Reuter and Theo Härde, 1983

1980*
relační databáze

Transakce jsou...

abstrakce pro jednoduchou práci s daty

ACID

Atomicity

Consistency

Isolation

Durability

Atomicity == vrácení dat do původního stavu

ACID

ACID

 

Consistency == data jsou konzistentní

Durability == data jsou bezpečně uloženy

ACID

Isolation == data je možné zpracovávat paralelně

 

Serializability !

Lock-based

ID Jméno Příjmení
1 Zdeněk Henek
2 Jan Novotný

Lock-based for serializability

ID Jméno Příjmení
1 Zdeněk Henek
2 Jan Novotný

Lock-based isolation levels

Isolation level Dirty reads Lost updates Non-repeatable reads Phantoms
Read Uncommitted may occur may occur may occur may occur
Read Committed don't occur may occur may occur may occur
Repeatable Read don't occur don't occur don't occur may occur
Serializable don't occur don't occur don't occur don't occur

Databáze a transakce

1983
ACID

  • First version of ANSI SQL was in 1987
  • A Critique of ANSI SQL Isolation Levels, Hal Berenson,  Phil Bernstein 1995

1980*
relační databáze

1992
ANSI SQL

1995
Critique on ACID

Lock-based vs. MVCC

CAP a distribuované databáze

1983
ACID

1980*
relační databáze

1992
ANSI SQL

1995
Critique on ACID

2000
CAP

2001
Paxos simple

CAP theorem

CAP Consistency != ACID consistency

Availability over Consistency

1983
ACID

1980*
relační databáze

1992
ANSI SQL

1995
Critique on ACID

2000
CAP

2001
Paxos simple

2007
Dynamo paper

NoSQL era

Consistency strikes back

2012
Spanner

NewSQL era

2011
CRDT

1983
ACID

1980*
relační databáze

1992
ANSI SQL

1995
Critique on ACID

2000
CAP

2001
Paxos simple

2007
Dynamo paper

NoSQL to NewSQL

A co aplikace?

2011
Microservices

1991
XA spec

2008
BASE

"Dva největší problémy při programování jsou invalidace cache, pojmenování věcí a chyby o jedničku."

?

2011
Microservices

1991
XA spec

2008
BASE

2019
?

DÍKY ZA POZORNOST