Niveluri de izolare

Tranzacții și gestionarea erorilor în PostgreSQL

Jason Myers

Instructor

Concurență

  • Gestionarea coordonării mai multor operațiuni simultane.
  • Generează un set unic de probleme într-o bază de date.
  • Folosește reguli numite niveluri de izolare pentru a facilita înțelegerea rezultatelor.
Tranzacții și gestionarea erorilor în PostgreSQL

Citiri murdare

Citire murdară

Tranzacții și gestionarea erorilor în PostgreSQL

Citire nerepetabilă

Citire nerepetabilă

Tranzacții și gestionarea erorilor în PostgreSQL

Citire fantomă

Citire fantomă

Tranzacții și gestionarea erorilor în PostgreSQL

Anomalie de serializare

Anomalie de serializare

Tranzacții și gestionarea erorilor în PostgreSQL

Niveluri de izolare

Nivel de izolare Citire murdară Citire nerepetabilă Citire fantomă Anomalie de serializare
Read Uncommitted Protejat (PostgreSQL) vulnerabil vulnerabil vulnerabil
Read Committed Protejat vulnerabil vulnerabil vulnerabil
Repeatable Read Protejat Protejat Protejat (PostgreSQL) vulnerabil
Serializable Protejat Protejat Protejat Protejat
Tranzacții și gestionarea erorilor în PostgreSQL

Efectele nivelurilor de izolare

START TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 
SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';

-- Cookie 6 has been added in an external transaction.

SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';
COMMIT;

Rezultatele instrucțiunilor

  • Rezultatul primului SELECT: 5
  • Rezultatul celui de-al doilea SELECT: 6
Tranzacții și gestionarea erorilor în PostgreSQL

Efectele nivelurilor de izolare

START TRANSACTION ISOLATION LEVEL SERIALIZABLE; 
SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';

-- Cookie 6 has been added in an external transaction.

SELECT COUNT(*) FROM cookies WHERE name = 'lemon drop';
COMMIT;

Rezultatele instrucțiunilor

  • Rezultatul primului SELECT: 5
  • Rezultatul celui de-al doilea SELECT: 5
Tranzacții și gestionarea erorilor în PostgreSQL

Să exersăm!

Tranzacții și gestionarea erorilor în PostgreSQL

Preparing Video For Download...