Professional Documents
Culture Documents
2016
Conceptos Generales PostgreSQL SQL Server
Conceptos Generales
Conceptos Generales PostgreSQL SQL Server
Transacciones Implcitas/Explicitas
Transacciones Implcitas/Explicitas
Transacciones
Transacciones
ROLLBACK;
SELECT * FROM Tabla ;
Conceptos Generales PostgreSQL SQL Server
Transacciones
ROLLBACK;
SELECT * FROM Tabla ;
AUTOCOMMIT
Una sentencia SQL enviada a la base de datos en modo
AUTOCOMMIT no puede ser desecha (rollback)
Conceptos Generales PostgreSQL SQL Server
Precaucin
Supongamos lo siguiente:
Conceptos Generales PostgreSQL SQL Server
Precaucin
Supongamos lo siguiente:
Conceptos Generales PostgreSQL SQL Server
Precaucin
Supongamos lo siguiente:
SQL Server
Precaucin
Conceptos Generales PostgreSQL SQL Server
Precaucin
Conceptos Generales PostgreSQL SQL Server
Precaucin
Conceptos Generales PostgreSQL SQL Server
(ISO-89)SQLCODE (ISO-92)SQLSTATE
5 Caracteres :
Clase 2 Caracteres
0000 Exito
01 Warning
02 No Data
07 Dynamic SQL ERROR
08 Connection Exception
22 Data Exception
40 Transaction Rollback
Subclase 3 Caracteres
Conceptos Generales PostgreSQL SQL Server
Niveles de Aislamiento
Niveles de aislamiento
El nivel de aislamiento controla el grado en que una
transaccin dada est expuesta a la acciones de otras
transacciones ejecutndose simultneamente.
Problemas:
Lost Update
Dirty Read
Non-Repeatable Read (Fuzzy Read)
Phantom Read
Conceptos Generales PostgreSQL SQL Server
Niveles de Aislamiento
Niveles de Aislamiento
Defecto
PostgreSQL
Conceptos Generales PostgreSQL SQL Server
PostreSQL: MVCC
MVCC
PostgreSQL usa control de concurrencia multiversin
Niveles de Aislamiento
MVCC
En PostgreSQL se pueden definir los 4 niveles del standard
SQL pero internamente los soportados son 3: Read
Committed, Repeatable Read y Serializable.
SQL Server
Conceptos Generales PostgreSQL SQL Server
Repeatable Read
Repeatable Read
Write Locks
Los locks exclusivos siempre deben mantenerse hasta el
final de una transaccin, sin importar el nivel de aislamiento o
modelo de concurrencia, de modo que una transaccin pueda
revertirse si es necesario
Conceptos Generales PostgreSQL SQL Server
Optimista
Permite a los procesos leer viejas versiones de los datos que fueron
commited si la versin actual esta locked.
Optimista
Permite a los procesos leer viejas versiones de los datos que fueron
commited si la versin actual esta locked.
Atencin
No es equivalente a serializable. Pueden haber dos transacciones que se
ejecuten simultneamente y produzcan un resultado imposible en una
ejecucin serial. Aunque evita los mismos problemas
Conceptos Generales PostgreSQL SQL Server
Optimista
Permite a los procesos leer viejas versiones de los datos que fueron
commited si la versin actual esta locked.
Atencin
No es equivalente a serializable. Pueden haber dos transacciones que se
ejecuten simultneamente y produzcan un resultado imposible en una
ejecucin serial. Aunque evita los mismos problemas
Conceptos Generales PostgreSQL SQL Server
Snapshot (SI)
Figura tomada de: "Microsoft SQL 2012 Internals" -Kalen Delaney et. al.
Conceptos Generales PostgreSQL SQL Server
begin tran
begin tran
begin tran
commit tran
Conceptos Generales PostgreSQL SQL Server
begin tran
begin tran
commit tran
commit tran
Pesimista
Requiere que se realice lock sobre datos que han sido ledos y tambin
sobre datos que no existen
Figura tomada de: "Microsoft SQL 2012 Internals" -Kalen Delaney et. al.
Conceptos Generales PostgreSQL SQL Server
Bibliografa