En esta sesión se cubre el tema de durabilidad de las transacciones, de que trata las nuevas transacciones introducidas en SQL 2014, las diversas formas de implementarlo y su impacto tanto en bases de datos como en aplicaciones.
Posiciones_del_sionismo_en_los_imperios globales de la humanidad (2024).pdf
SQL Server 2014 Delayed Durability visto desde una aplicación - Alejandro Cordero
1. SQL Server 2014 Delayed Durability visto
desde una aplicación
4 Marzo 2015 (12 pm GMT -5)
Alejandro Cordero
Resumen:
En esta sesión se cubre el tema de durabilidad de
las transacciones, de que trata las nuevas
transacciones introducidas en SQL 2014, las
diversas formas de implementarlo y su impacto
tanto en bases de datos como en aplicaciones.
Próximos Eventos
Power Query y el Lenguaje M
18 de Marzo
Miguel Escobar
Creando una solución Always On SQL
Server 2014 Híbrida
25 de Marzo
German Cayo
Minería de Datos - Machine Learning
- HD Insight
11 de Marzo
Freddy Angarita
Está por comenzar:
2. Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
3.
4. 4
Oportunidades de Voluntariado
PASS no pudiera existir sin personas apasionadas y
dedicadas de todas partes del mundo que dan de su
tiempo como voluntarios.
Se un voluntario ahora!!
Para identificar oportunidades locales visita
volunteer.sqlpass.org
Recuerda actualizar tu perfil en las secciones de
“MyVolunteering” y MyPASS para mas detalles.
6. SQL Server 2014 Delayed Durability visto
desde una aplicación
4 de Marzo de 2015
Alejandro Cordero Delgado
Database Consultant, Pythian Group
PASS Global Spanish VC | PRPASS
8. Agenda
Durabilidad de las transacciones, completas vrs diferidas( full vrs delayed)
Comparativa de velocidad de una memoria vrs disco duro
Cuando se guarda la información en disco?
Riesgos en las transacciones diferidas
Posibles Casos de Uso
Como Implementarlo? Control a nivel de bloque atómico vrs Control a nivel
de base de datos (atomic block level control)
Ejercicio#1,1.2,1.3 Implementando transacciones diferidas
Que puedo esperar al implementarlo desde una aplicación?
Ejercicio#2 ejemplo de una transacción desde una aplicación utilizando
Enterprise library logging block
Ejercicio #3 el caso de la perdida de datos
8
9. Durabilidad de las transacciones, completas vrs
Diferidas( full vrs delayed)
9
1
3
write-ahead logging (WAL)
sincrónico
2
Transacción
Bitacora de transacciones
O transaction log
Archivo de datos
O Data file
TRANSACCIÓN COMPLETA
10. Durabilidad de las transacciones, completas vrs
Diferidas( full vrs delayed)…cont
10
1
2
4
Asincrónico
5
Transacción
Bitacora de transacciones
O transaction log
Memoria
Archivo de datos
O Data file
3
TRANSACCIÓN DIFERIDA
12. Cuando Se guarda la información en Disco?
La información guardada en el espacio de memoria de SQL Server destinado a transacciones
diferidas se guarda en disco en las siguientes circunstancias:
•Una transacción completa en la misma base de datos realiza un cambio en la base de datos y
ejecuta un commit exitosamente.
•El usuario ejecuta el comando sp_flush_log.
•El buffer de memoria destinado a transacciones diferidas se llena, generando un “flush” al
disco.
12
13. Riesgos en las transacciones diferidas
1
2
4
Transacción
Bitacora de transacciones
O transaction log
Memoria
Archivo de datos
O Data file
3
13
ID Ubicación
1 San José
2 Ciudad de
Panama
OPSIEEE!
14. Posibles Casos De Uso
Cuando se puede tolerar perder datos
Cuando se experimenta un cuello de botella en la bitacora de
Transacciones (transaction logs)
Cuando las transacciones tienen un nivel alto de contención
14
15. Como Implementarlo? Control a Nivel de Base de
Datos
ALTER DATABASE … SET DELAYED_DURABILITY = { DISABLED | ALLOWED | FORCED }
15
Ejemplo #1.1
16. Como Implementarlo? Control a Nivel atómico en
bloques
CREATE PROCEDURE <procedureName> …
WITH NATIVE_COMPILATION, SCHEMABINDING,
EXECUTE AS OWNER AS
BEGIN ATOMIC WITH (
DELAYED_DURABILITY = ON, TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE =
N'English' …
)
END
16
Ejemplo #1.2
17. Como Implementarlo? Control a Nivel de COMMIT
COMMIT [ { TRAN | TRANSACTION } ] [ transaction_name | @tran_name_variable ] ] [ WITH (
DELAYED_DURABILITY = { OFF | ON } ) ]
17
Ejemplo #1.3
18. Que puedo esperar al implementarlo desde una
aplicación? Ejemplo ado.net
Se abre la Conexión y se crea una transacción
Se configura el objecto SqlCommand
Se define el texto de la transacción
Se ejecuta
Se espera el retorno del control a la aplicación
Se hace un commit/rollback, o se cierra.
18
19. Ejercicio#2 ejemplo de una transacción desde una
aplicación utilizando Enterprise library logging block
19
22. Minería de Datos - Machine Learning - HD Insight
11 de Febrero (12 pm GMT -5)
Juan Alvarado
Resúmen:
Demostración del uso de tecnologías predictivas de
Microsoft
Próximo Evento