SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
REL-310
FUNDAMENTALS: Copias de
seguridad y registro de transacciones
RUBÉN GARRIGÓS
Mentor –Área Motor Relacional
MCP – MCAD – MCSD – MCTS – MCT - MCITP
rgarrigos@solidq.com
Objetivos de la sesión
α Modelos de recuperación en SQL Server
α Log de transacciones
α Optimización de backups
 β   Backups parciales
 β   Compresión de backups
Modelos de recuperación
Modelos de recuperación
Introducción
α Los tres modelos aparecieron en SQL Server 2000
 β     Select into/bulkcopy
 β     Truncate Log on Checkpoint

                     Select Into /          Truncate Log on
Modelo
                     BulkCopy               Checkpoint
Full                          Falso               Falso
Bulk-Logged                Verdadero              Falso
Simple                          -               Verdadero

α Al elegir un modelo u otro tenemos que evaluar el grado
     de protección, el espacio requerido para el log y el
     rendimiento esperado de las operaciones masivas.
Modelos de recuperación
Modelo de recuperación completo
α Modelo por defecto para las bases de datos nuevas
α Nos permitirá la recuperación en caso de desastre hasta
        un punto exacto en el tiempo
α       Mayor protección en caso de fallo de un fichero de datos
α       Todas las operaciones se registrarán de forma completa en
        el log de transacciones
α       Requiere de backups del log de transacciones
α       El dimensionado del log es crucial para evitar problemas
        de rendimiento
α       Ideal cuando perder la menor cantidad de información es
        lo más importante
    β    Si con una baja frecuencia de backups no es suficiente…
    β    Database Mirroring, Replicación hardware síncrona/asíncrona de
         cabina, replicación software tipo Double-take, etc.
Modelos de recuperación
Modelo de recuperación BULK LOGGED
α Modelo intermedio entre el modelo completo y el simple
α Se utiliza en escenarios en los cuales puntualmente tenemos
        operaciones masivas que consideramos «demasiado
        grandes» para ser registradas completamente
α       Suele utilizarse solo durante una ventana de tiempo
    β    Mantenimiento
    β    Cargas masivas
    β    Sin recuperación a un punto en el tiempo dentro de la ventana
    β    El backup del log incluirá todas los extents modificados
α Para que una operación de un BULK INSERT sea
        efectivamente procesada como mínimamente registrada
        deben cumplirse varias condiciones…
Modelos de recuperación
Modelo de recuperación BULK LOGGED
α SQL 2008 R2
Tipo de tabla    ¿Vacía? Índices non- Hints          Concurrencia Mínimamente
                         clustered                   de cargas    registrada
Heap             No     No            TABLOCK        Si          Si
Heap             No     No            -              Si          No
Heap             No     Si            TABLOCK        No          Parcialmente
Índice cluster   Si     No            TABLOCK + ORDER No         Si
Índice cluster   Si     No            -              Parcial     Si
Índice cluster   No     No            -              Parcial     Si
Índice cluster   No     No            TABLOCK        No          Si
Índice cluster   No     Si            -              Parcial     Parcialmente
Índice cluster   No     Si            TABLOCK        No          Parcialmente
Modelos de recuperación
Modelo de recuperación simple
α Es un modelo donde la gestión del log de transacciones se
  realiza automáticamente por SQL Server
α Permite operaciones mínimamente registradas al igual que
  el BULK LOGGED
    β    No conviene pasar de full a simple para evitar invalidar la cadena del
         log  Un backup full/diff para inicializarla de nuevo
α Se busca un compromiso entre evitar una pérdida de datos
        grande y penalizar el rendimiento de la base de datos
α       En caso de desastre solo podremos recuperarnos con
        backups completos y diferenciales
    β    Puede ser válido para algunos entornos de producción (DW)
α Es una buena opción para bases de datos de entornos de
        desarrollo y testing
Log de transacciones
Log de transacciones
Introducción
α Es un fichero que almacena las transacciones realizadas en
     una base de datos
 β    Consistencia en caso de fallo, protocolo WAL
 β    Soporte a la replicación transaccional, Log shipping, Database
      Mirroring…
α Objetivo de mucha controversia y «quejas»
 β    Mi SQL Server «escribe demasiado» en el log
 β    ¡Anda! ¿Hay que hacer backups del log de transacciones?
 β    Mi log de transacciones ocupa ya 900 GB. ¡Socorro!
 β    No puedo truncar el log de transacciones, mejor borro el fichero…
 β    ¿Que importancia puede tener que exista una transacción abierta
      desde hace 2 meses?
 β    Este rollback está tardando mucho, mejor reinicio el servicio…
Log de transacciones
Historia
α En SQL Server 6.5
  β     Se creaba sobre un «dump device»
  β     Se realizaba un «dump» del log a otro device como forma de liberar
        espacio
α En SQL Server 7.0 – 2000
  β     Modelo similar al actual con backups para reutilizar el log
α En SQL Server 2000+
  β    Introducción de mejoras de rendimiento
      γ 2005+ No utilizar el log para las pseudo-tablas en los triggers
      γ 2005+ Menos impacto de la fragmentación de VLF
      γ 2008+ Más operaciones mínimamente registradas
Log de transacciones
Protocolo WAL (Write Ahead Logging)
α Se utiliza principalmente como forma de garantizar la
  durabilidad de las transacciones
α La «anotación» de las transacciones en el log se persiste a
  disco garantizándose el orden de las escrituras
    β    Cuidado con el almacenamiento ATA/SATA
α Cuando realizamos modificaciones en nuestra base de
        datos se realizan sobre las páginas en memoria y no sobre
        disco
α       Los procesos checkpoint, lazy writer y eager write serán los
        que vuelquen a disco esas páginas modificadas.
Log de transacciones
Rendimiento
α Pruebas de stress para determinar la carga que debemos
     soportar y cuanta esperas vienen del log
 β    No fiarse de las especificaciones teóricas
 β    Considerar todo el path de entrada/salida
 β    Cuidado con los «vendemotos» de almacenamiento SAN
α Factores a considerar
 β    Baja latencia de escrituras
 β    Rendimiento predecible y estable
 β    Cacheo de escrituras
 β    RAID 1/10 vs RAID 5/6
 β    Spindles dedicados
Log de transacciones
Modelo de recuperación BULK LOGGED
α Desde el punto de vista de rendimiento, no debemos
  esperar milagros si el rendimiento de nuestro log era ya
  bueno…
α SELECT INTO 1 ~1.2 millones de filas
α SELECT INTO 1 ~12 millones de filas
Operación       Modelo         IOs    Log       SSD    Magnético
                Recuperación
SELECT INTO 1   Simple         45     2.68 MB   5s     5s
SELECT INTO 1   Completo       4182   236 MB    5s     6s
SELECT INTO 2   Simple         525    31 MB     56 s   53 s
SELECT INTO 2   Completo       41925 2687 MB 62 s      96 s
Log de transacciones & FULL vs SIMPLE
Optimización de backups
Optimización de backups
Introducción
α La importancia de una buena política de backups (y
        restores) es por todos conocida
    β    Si no puedes restaurar no tienes backup
α Normalmente se busca la mayor frecuencia posible de
        backups para minimizar el tiempo de recuperación ante un
        desastre
α       Tenemos que evaluar diversos factores
    β    Espacio ocupado
    β    Tiempo necesario
    β    Capacidad de entrada/salida
    β    Disponibilidad parcial de la base de datos
    β    Particionado
    β    Datos de solo lectura
Optimización de backups
Backups parciales
α Nos permiten realizar backups de parte de la base de
  datos y restauraciones parciales posteriormente
α Especialmente útil para datos históricos o de solo lectura
    β    Hacemos backup una vez.. y ya no más veces
    β    No es raro tener ratios 1:10 entre datos modificables e históricos
α Mejoramos el espacio ocupado si necesitamos mantener
        backups almacenados durante tiempo
α       El tiempo para los backups «diarios» se reduce
α       No presionamos tanto el sistema de entrada/salida
        durante los backups
    β    Sistemas 24x7
    β    Sistemas en tiempo real
    β    Un backup no «bloquea» a los usuarios pero sí puede ralentizar
Optimización de backups
Backups parciales

CREATE DATABASE test_conta
GO
USE [master]
GO
ALTER DATABASE test_conta ADD FILEGROUP ro_data
GO
ALTER DATABASE test_conta ADD FILE ( NAME = N'ro_data',
FILENAME = N'c:ro_data.ndf' , SIZE = 3072KB , FILEGROWTH
= 1024KB )
GO
ALTER DATABASE test_conta MODIFY FILEGROUP ro_data
READONLY
GO
BACKUP DATABASE [test_conta] FILEGROUP = N'PRIMARY'
TO DISK = N'C:test_conta.bak'
Optimización de backups
Backups parciales

BACKUP DATABASE [test_conta] FILEGROUP = N'ro_data'
TO DISK = N'C:test_conta_ro_data.bak‘
GO
RESTORE DATABASE [test_conta2]
FILE = N'test_conta' FROM     DISK = N'C:test_conta.bak'
WITH FILE = 1,
MOVE N'test_conta' TO N'C:test_conta2.mdf',
MOVE N'test_conta_log' TO N'C:test_conta2_1.LDF',
PARTIAL
GO
RESTORE DATABASE [test_conta2]
FILE = N'ro_data'
FROM DISK = N'C:test_conta_ro_data.bak' WITH FILE = 1,
MOVE N'ro_data' TO N'c:test_conta2_0.ndf'
Optimización de backups
Compresión de backups
α A lo largo de los años han proliferado multitud de
     herramientas de terceros
 β    Dependencia de dichas herramientas para algo tan vital como las
      copias de seguridad y las restauraciones
α Otras alternativas
 β    Cintas con soporte de compresión nativo
 β    Compresión NTFS
α Desde SQL 2008 tenemos una solución nativa de
     compresión que busca un compromiso entre distintos
     factores
 β    Consumo de CPU
 β    Ratio de compresión
 β    Duración del backup
α Es sencilla de utilizar pero ofrece poca configurabilidad
Optimización de backups
Compresión en SQL Server
α En SQL Server 2008 apareció también la compresión de fila
     y de página
 β    Ayuda a disminuir la cantidad de entrada/salida necesaria a disco
 β    Aumenta la eficiencia de la memoria: más datos en menos páginas
 β    Aumenta el consumo de CPU ligeramente
α Con arquitecturas modernas se recomienda partir de 4GB
     de RAM por core para cargas generalistas
 β    El uso de compresión puede ayudar a equilibrar el sistema
 β    Podemos obtener ventajas analizando las tablas más compresibles y
      con menos cambios y habilitarla solo cuando sea más favorable
α La compresión NTFS no está soportada salvo para ficheros
     de solo lectura
Optimización de backups
Ratios de compresión
           Método de compresión                Tamaño      Reducción
                                               (bytes)     de tamaño
Backup no comprimido                         470.897.152     0,00%
Backup no comprimido + compresión NTFS       175.181.824    -62,80%
Backup comprimido SQL Server 2008             86.846.976    -81,56%
Backup comprimido + ZIP compresión normal     85.970.567    -81,74%
Backup comprimido + ZIP máxima compresión     85.896.047    -81,76%
Backup comprimido + RAR máxima compresión     85.685.920    -81,80%
Backup comprimido + RAR compresión normal     85.688.085    -81,80%
Backup no comprimido + ZIP compresión normal  63.851.585    -86,44%
Backup no comprimido + ZIP máxima compresión  59.704.340    -87,32%
Backup no comprimido + RAR compresión normal  37.185.294    -92,10%
Backup no comprimido + RAR máxima compresión 36.867.249     -92,17%
Optimización de backups
Encriptación y compresión
α Desde SQL Server 2008 disponemos de una característica
  de encriptado transparente (TDE)
α Todas las páginas de la base de datos pasan a estar
  encriptadas
 β   El compresor se encuentra con un conjunto aleatorio de bytes


 Encriptación TDE Compresión Backup   Rendimiento    Tamaño (bytes)    Duración
       No                No              65,3 MB/s       223.442.432       3,2 s
       No                 Si            144,2 MB/s        49.716.224       1,5 s
       Si                No                68 MB/s       223.442.432       3,1 s
       Si                 Si             42,7 MB/s       221.069.824       4,9 s
Optimización de backups
Rendimiento de la compresión
α El tiempo total de compresión depende de muchos
  factores
α Existe un tiempo independiente del método de
  compresión utilizado requerido para la lectura de los datos
α Existe un tiempo asociado a la escritura del backup
α La disminución del volumen de datos a escribir suele
  compensar al consumo de CPU extra
 β   Las CPUs son mucho más rápidas que la entrada/salida a disco
 β   Es más notable cuanto menor es el ancho de banda del canal (cinta
     lenta, a través de la red, etc.)

       Método de copia de seguridad   Duración      Diferencia
     Estándar                         35.355 s          0%
     Sobre volumen NTFS comprimido    64.130 s         81%
     Nativa SQL Server 2008           12.920 s        -64%
Backups comprimidos/encriptados
Filegroups solo lectura y disponibilidad parcial
Si quieres disfrutar de las mejores sesiones de
nuestros mentores de España y Latino América,
             ésta es tu oportunidad.

      http://summit.solidq.com/madrid/

Más contenido relacionado

Similar a FUNDAMENTALS: Copias de seguridad y registro de transacciones

Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresSolidQ
 
BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA SolidQ
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacionvictdiazm
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerSpanishPASSVC
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)JOSE AHIAS LOPEZ PORTILLO
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012dbLearner
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassJulián Castiblanco
 
La receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosLa receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosSpanishPASSVC
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos SolidQ
 
Presentación curso itsm cap2
Presentación curso itsm cap2Presentación curso itsm cap2
Presentación curso itsm cap2Bladimir Hoyos
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPJoseph Lopez
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesSolidQ
 
Las mejores practicas de los indices columnstore
Las mejores practicas de los indices columnstoreLas mejores practicas de los indices columnstore
Las mejores practicas de los indices columnstoreSpanishPASSVC
 
Migrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryMigrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryRaul Martin Sarachaga Diaz
 
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel EgeaSpanishPASSVC
 

Similar a FUNDAMENTALS: Copias de seguridad y registro de transacciones (20)

Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA
 
Sql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and RestoreSql Server 2014 CTP2-Backup and Restore
Sql Server 2014 CTP2-Backup and Restore
 
R ecuperacion
R ecuperacionR ecuperacion
R ecuperacion
 
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL ServerRecuperación de desastres y soluciones de alta disponibilidad con SQL Server
Recuperación de desastres y soluciones de alta disponibilidad con SQL Server
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)
 
Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012Alta Disponibilidad con SQL Server 2012
Alta Disponibilidad con SQL Server 2012
 
Optimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL PassOptimización de motores sql server 24 horas SQL Pass
Optimización de motores sql server 24 horas SQL Pass
 
La receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datosLa receta de la abuela para mejores cargas de datos
La receta de la abuela para mejores cargas de datos
 
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
BEST_PRACTICES: Buenas Prácticas para el Desarrollador de bases de datos
 
Presentación curso itsm cap2
Presentación curso itsm cap2Presentación curso itsm cap2
Presentación curso itsm cap2
 
MS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTPMS SQL Server 2014 - In-Memory OLTP
MS SQL Server 2014 - In-Memory OLTP
 
Mantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para DummiesMantenimiento de SQL Server para Dummies
Mantenimiento de SQL Server para Dummies
 
Funciones del DBA
Funciones del DBAFunciones del DBA
Funciones del DBA
 
Las mejores practicas de los indices columnstore
Las mejores practicas de los indices columnstoreLas mejores practicas de los indices columnstore
Las mejores practicas de los indices columnstore
 
Azure DataFactory
Azure DataFactoryAzure DataFactory
Azure DataFactory
 
Migrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data FactoryMigrando mis datos a la nube con Azure Data Factory
Migrando mis datos a la nube con Azure Data Factory
 
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
24 HOP Español - Utilizando cdc para cargar dw on line - Miguel Egea
 
Base de dato
Base de  dato Base de  dato
Base de dato
 
Base de dato act4
Base de  dato act4Base de  dato act4
Base de dato act4
 

Más de SolidQ

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?SolidQ
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en LinuxSolidQ
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida realSolidQ
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízateSolidQ
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksSolidQ
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BISolidQ
 
R en relacional
R en relacionalR en relacional
R en relacionalSolidQ
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!SolidQ
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en AzureSolidQ
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018SolidQ
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018SolidQ
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018SolidQ
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018SolidQ
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...SolidQ
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017SolidQ
 

Más de SolidQ (20)

SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration ServicesSolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
SolidQ Summit 2018 - Qué necesita saber un DBA de Integration Services
 
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLSSolidQ Summit 2018 - Seguridad a nivel datos. RLS
SolidQ Summit 2018 - Seguridad a nivel datos. RLS
 
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
SolidQ Summit 2018 - Todo lo que un integrador de datos debería tener... y pa...
 
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
SolidQ Summit 2018 - ¿Dificultades gestionando relaciones muchos a muchos? De...
 
SolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantesSolidQ Summit 2018 - Report Server: Nuevos mutantes
SolidQ Summit 2018 - Report Server: Nuevos mutantes
 
Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?Cuando QueryStore no sirve, ¿qué opciones tenemos?
Cuando QueryStore no sirve, ¿qué opciones tenemos?
 
SQL Server 2017 en Linux
SQL Server 2017 en LinuxSQL Server 2017 en Linux
SQL Server 2017 en Linux
 
Columnstore en la vida real
Columnstore en la vida realColumnstore en la vida real
Columnstore en la vida real
 
PowerApprízate
PowerApprízatePowerApprízate
PowerApprízate
 
Jugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocksJugando a ser rico: Machine Learning para predicción de stocks
Jugando a ser rico: Machine Learning para predicción de stocks
 
Analizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BIAnalizando tus Redes Sociales con Power BI
Analizando tus Redes Sociales con Power BI
 
R en relacional
R en relacionalR en relacional
R en relacional
 
Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!Cuando haces bot ya no hay stop!!
Cuando haces bot ya no hay stop!!
 
Arquitecturas lambda en Azure
Arquitecturas lambda en AzureArquitecturas lambda en Azure
Arquitecturas lambda en Azure
 
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
Bot Framework: otra manera de acceder a tus datos - SolidQ Summit 2018
 
BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018BIE2E en Azure - SolidQ Summit 2018
BIE2E en Azure - SolidQ Summit 2018
 
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
¿Qué viene GDPR? Mi SQL está preparado- SolidQ Summit 2018
 
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018Hilando fino en SSAS multidimensional - SolidQ Summit 2018
Hilando fino en SSAS multidimensional - SolidQ Summit 2018
 
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
Adaptive Query Processing: Mejoras en el motor de consulta de SQL Server 2017...
 
Novedades de SSAS 2017
Novedades de SSAS 2017Novedades de SSAS 2017
Novedades de SSAS 2017
 

Último

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdfOswaldoGonzalezCruz
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaJuan Carlos Fonseca Mata
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwealekzHuri
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 

Último (20)

LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
5° SEM29 CRONOGRAMA PLANEACIÓN DOCENTE DARUKEL 23-24.pdf
 
Flores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - BotánicaFlores Nacionales de América Latina - Botánica
Flores Nacionales de América Latina - Botánica
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtweBROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
BROCHURE EXCEL 2024 FII.pdfwrfertetwetewtewtwtwtwtwtwtwtewtewtewtwtwtwtwe
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 

FUNDAMENTALS: Copias de seguridad y registro de transacciones

  • 1. REL-310 FUNDAMENTALS: Copias de seguridad y registro de transacciones RUBÉN GARRIGÓS Mentor –Área Motor Relacional MCP – MCAD – MCSD – MCTS – MCT - MCITP rgarrigos@solidq.com
  • 2. Objetivos de la sesión α Modelos de recuperación en SQL Server α Log de transacciones α Optimización de backups β Backups parciales β Compresión de backups
  • 4. Modelos de recuperación Introducción α Los tres modelos aparecieron en SQL Server 2000 β Select into/bulkcopy β Truncate Log on Checkpoint Select Into / Truncate Log on Modelo BulkCopy Checkpoint Full Falso Falso Bulk-Logged Verdadero Falso Simple - Verdadero α Al elegir un modelo u otro tenemos que evaluar el grado de protección, el espacio requerido para el log y el rendimiento esperado de las operaciones masivas.
  • 5. Modelos de recuperación Modelo de recuperación completo α Modelo por defecto para las bases de datos nuevas α Nos permitirá la recuperación en caso de desastre hasta un punto exacto en el tiempo α Mayor protección en caso de fallo de un fichero de datos α Todas las operaciones se registrarán de forma completa en el log de transacciones α Requiere de backups del log de transacciones α El dimensionado del log es crucial para evitar problemas de rendimiento α Ideal cuando perder la menor cantidad de información es lo más importante β Si con una baja frecuencia de backups no es suficiente… β Database Mirroring, Replicación hardware síncrona/asíncrona de cabina, replicación software tipo Double-take, etc.
  • 6. Modelos de recuperación Modelo de recuperación BULK LOGGED α Modelo intermedio entre el modelo completo y el simple α Se utiliza en escenarios en los cuales puntualmente tenemos operaciones masivas que consideramos «demasiado grandes» para ser registradas completamente α Suele utilizarse solo durante una ventana de tiempo β Mantenimiento β Cargas masivas β Sin recuperación a un punto en el tiempo dentro de la ventana β El backup del log incluirá todas los extents modificados α Para que una operación de un BULK INSERT sea efectivamente procesada como mínimamente registrada deben cumplirse varias condiciones…
  • 7. Modelos de recuperación Modelo de recuperación BULK LOGGED α SQL 2008 R2 Tipo de tabla ¿Vacía? Índices non- Hints Concurrencia Mínimamente clustered de cargas registrada Heap No No TABLOCK Si Si Heap No No - Si No Heap No Si TABLOCK No Parcialmente Índice cluster Si No TABLOCK + ORDER No Si Índice cluster Si No - Parcial Si Índice cluster No No - Parcial Si Índice cluster No No TABLOCK No Si Índice cluster No Si - Parcial Parcialmente Índice cluster No Si TABLOCK No Parcialmente
  • 8. Modelos de recuperación Modelo de recuperación simple α Es un modelo donde la gestión del log de transacciones se realiza automáticamente por SQL Server α Permite operaciones mínimamente registradas al igual que el BULK LOGGED β No conviene pasar de full a simple para evitar invalidar la cadena del log  Un backup full/diff para inicializarla de nuevo α Se busca un compromiso entre evitar una pérdida de datos grande y penalizar el rendimiento de la base de datos α En caso de desastre solo podremos recuperarnos con backups completos y diferenciales β Puede ser válido para algunos entornos de producción (DW) α Es una buena opción para bases de datos de entornos de desarrollo y testing
  • 10. Log de transacciones Introducción α Es un fichero que almacena las transacciones realizadas en una base de datos β Consistencia en caso de fallo, protocolo WAL β Soporte a la replicación transaccional, Log shipping, Database Mirroring… α Objetivo de mucha controversia y «quejas» β Mi SQL Server «escribe demasiado» en el log β ¡Anda! ¿Hay que hacer backups del log de transacciones? β Mi log de transacciones ocupa ya 900 GB. ¡Socorro! β No puedo truncar el log de transacciones, mejor borro el fichero… β ¿Que importancia puede tener que exista una transacción abierta desde hace 2 meses? β Este rollback está tardando mucho, mejor reinicio el servicio…
  • 11. Log de transacciones Historia α En SQL Server 6.5 β Se creaba sobre un «dump device» β Se realizaba un «dump» del log a otro device como forma de liberar espacio α En SQL Server 7.0 – 2000 β Modelo similar al actual con backups para reutilizar el log α En SQL Server 2000+ β Introducción de mejoras de rendimiento γ 2005+ No utilizar el log para las pseudo-tablas en los triggers γ 2005+ Menos impacto de la fragmentación de VLF γ 2008+ Más operaciones mínimamente registradas
  • 12. Log de transacciones Protocolo WAL (Write Ahead Logging) α Se utiliza principalmente como forma de garantizar la durabilidad de las transacciones α La «anotación» de las transacciones en el log se persiste a disco garantizándose el orden de las escrituras β Cuidado con el almacenamiento ATA/SATA α Cuando realizamos modificaciones en nuestra base de datos se realizan sobre las páginas en memoria y no sobre disco α Los procesos checkpoint, lazy writer y eager write serán los que vuelquen a disco esas páginas modificadas.
  • 13. Log de transacciones Rendimiento α Pruebas de stress para determinar la carga que debemos soportar y cuanta esperas vienen del log β No fiarse de las especificaciones teóricas β Considerar todo el path de entrada/salida β Cuidado con los «vendemotos» de almacenamiento SAN α Factores a considerar β Baja latencia de escrituras β Rendimiento predecible y estable β Cacheo de escrituras β RAID 1/10 vs RAID 5/6 β Spindles dedicados
  • 14. Log de transacciones Modelo de recuperación BULK LOGGED α Desde el punto de vista de rendimiento, no debemos esperar milagros si el rendimiento de nuestro log era ya bueno… α SELECT INTO 1 ~1.2 millones de filas α SELECT INTO 1 ~12 millones de filas Operación Modelo IOs Log SSD Magnético Recuperación SELECT INTO 1 Simple 45 2.68 MB 5s 5s SELECT INTO 1 Completo 4182 236 MB 5s 6s SELECT INTO 2 Simple 525 31 MB 56 s 53 s SELECT INTO 2 Completo 41925 2687 MB 62 s 96 s
  • 15. Log de transacciones & FULL vs SIMPLE
  • 17. Optimización de backups Introducción α La importancia de una buena política de backups (y restores) es por todos conocida β Si no puedes restaurar no tienes backup α Normalmente se busca la mayor frecuencia posible de backups para minimizar el tiempo de recuperación ante un desastre α Tenemos que evaluar diversos factores β Espacio ocupado β Tiempo necesario β Capacidad de entrada/salida β Disponibilidad parcial de la base de datos β Particionado β Datos de solo lectura
  • 18. Optimización de backups Backups parciales α Nos permiten realizar backups de parte de la base de datos y restauraciones parciales posteriormente α Especialmente útil para datos históricos o de solo lectura β Hacemos backup una vez.. y ya no más veces β No es raro tener ratios 1:10 entre datos modificables e históricos α Mejoramos el espacio ocupado si necesitamos mantener backups almacenados durante tiempo α El tiempo para los backups «diarios» se reduce α No presionamos tanto el sistema de entrada/salida durante los backups β Sistemas 24x7 β Sistemas en tiempo real β Un backup no «bloquea» a los usuarios pero sí puede ralentizar
  • 19. Optimización de backups Backups parciales CREATE DATABASE test_conta GO USE [master] GO ALTER DATABASE test_conta ADD FILEGROUP ro_data GO ALTER DATABASE test_conta ADD FILE ( NAME = N'ro_data', FILENAME = N'c:ro_data.ndf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) GO ALTER DATABASE test_conta MODIFY FILEGROUP ro_data READONLY GO BACKUP DATABASE [test_conta] FILEGROUP = N'PRIMARY' TO DISK = N'C:test_conta.bak'
  • 20. Optimización de backups Backups parciales BACKUP DATABASE [test_conta] FILEGROUP = N'ro_data' TO DISK = N'C:test_conta_ro_data.bak‘ GO RESTORE DATABASE [test_conta2] FILE = N'test_conta' FROM DISK = N'C:test_conta.bak' WITH FILE = 1, MOVE N'test_conta' TO N'C:test_conta2.mdf', MOVE N'test_conta_log' TO N'C:test_conta2_1.LDF', PARTIAL GO RESTORE DATABASE [test_conta2] FILE = N'ro_data' FROM DISK = N'C:test_conta_ro_data.bak' WITH FILE = 1, MOVE N'ro_data' TO N'c:test_conta2_0.ndf'
  • 21. Optimización de backups Compresión de backups α A lo largo de los años han proliferado multitud de herramientas de terceros β Dependencia de dichas herramientas para algo tan vital como las copias de seguridad y las restauraciones α Otras alternativas β Cintas con soporte de compresión nativo β Compresión NTFS α Desde SQL 2008 tenemos una solución nativa de compresión que busca un compromiso entre distintos factores β Consumo de CPU β Ratio de compresión β Duración del backup α Es sencilla de utilizar pero ofrece poca configurabilidad
  • 22. Optimización de backups Compresión en SQL Server α En SQL Server 2008 apareció también la compresión de fila y de página β Ayuda a disminuir la cantidad de entrada/salida necesaria a disco β Aumenta la eficiencia de la memoria: más datos en menos páginas β Aumenta el consumo de CPU ligeramente α Con arquitecturas modernas se recomienda partir de 4GB de RAM por core para cargas generalistas β El uso de compresión puede ayudar a equilibrar el sistema β Podemos obtener ventajas analizando las tablas más compresibles y con menos cambios y habilitarla solo cuando sea más favorable α La compresión NTFS no está soportada salvo para ficheros de solo lectura
  • 23. Optimización de backups Ratios de compresión Método de compresión Tamaño Reducción (bytes) de tamaño Backup no comprimido 470.897.152 0,00% Backup no comprimido + compresión NTFS 175.181.824 -62,80% Backup comprimido SQL Server 2008 86.846.976 -81,56% Backup comprimido + ZIP compresión normal 85.970.567 -81,74% Backup comprimido + ZIP máxima compresión 85.896.047 -81,76% Backup comprimido + RAR máxima compresión 85.685.920 -81,80% Backup comprimido + RAR compresión normal 85.688.085 -81,80% Backup no comprimido + ZIP compresión normal 63.851.585 -86,44% Backup no comprimido + ZIP máxima compresión 59.704.340 -87,32% Backup no comprimido + RAR compresión normal 37.185.294 -92,10% Backup no comprimido + RAR máxima compresión 36.867.249 -92,17%
  • 24. Optimización de backups Encriptación y compresión α Desde SQL Server 2008 disponemos de una característica de encriptado transparente (TDE) α Todas las páginas de la base de datos pasan a estar encriptadas β El compresor se encuentra con un conjunto aleatorio de bytes Encriptación TDE Compresión Backup Rendimiento Tamaño (bytes) Duración No No 65,3 MB/s 223.442.432 3,2 s No Si 144,2 MB/s 49.716.224 1,5 s Si No 68 MB/s 223.442.432 3,1 s Si Si 42,7 MB/s 221.069.824 4,9 s
  • 25. Optimización de backups Rendimiento de la compresión α El tiempo total de compresión depende de muchos factores α Existe un tiempo independiente del método de compresión utilizado requerido para la lectura de los datos α Existe un tiempo asociado a la escritura del backup α La disminución del volumen de datos a escribir suele compensar al consumo de CPU extra β Las CPUs son mucho más rápidas que la entrada/salida a disco β Es más notable cuanto menor es el ancho de banda del canal (cinta lenta, a través de la red, etc.) Método de copia de seguridad Duración Diferencia Estándar 35.355 s 0% Sobre volumen NTFS comprimido 64.130 s 81% Nativa SQL Server 2008 12.920 s -64%
  • 27. Filegroups solo lectura y disponibilidad parcial
  • 28. Si quieres disfrutar de las mejores sesiones de nuestros mentores de España y Latino América, ésta es tu oportunidad. http://summit.solidq.com/madrid/