Salva y restaura de datos
Una de las cosas más importantes cuando usted ya posee un Data Warehouse es mantenerlo y para esto salvar sus bases de datos es algo fundamental. Para ilustrarlos con un ejemplo les puedo decir que el Data Warehouse que administro generaba todos los días 87 GB de salvas. Salvar este volumen de datos se hace engorroso computacionalmente y también a la hora guardar estos datos en un lugar con espacio disponible. Si por ejemplo usa DLT que pueden almacenar hasta 80 GB en cinta el proceso de salvar un casete de este tipo diario puede ocupar gran parte del procesamiento del servidor en horario nocturno y requiere de 365 casetes para todo el año lo que es un gasto considerable. Si por el contrario decide usar DVD cuya implementación es más barata, necesitaría nada más que la suma aproximada de 23 DVD diarios para hacer la salva de estos datos, sin mencionar que necesitaría una persona solo para cambiar los CD cuando se llenen. Todo esto sin tener en cuenta que alguno de estos pueda tener defectos de fábrica. La posibilidad de usar compactadores hace posible que este gasto disminuya en una gran medida pues usando la máxima compresión de compactadores como WINRAR el tamaño se reduce aproximadamente a solo 3 GB lo que haría posible salvar todo esta información en solo un DVD, pero el uso de esta compresión hace que el procesamiento de un servidor profesional (Hacer Altos 600 de dos procesadores 900 MHz, 750 MB de RAM y arreglo de discos SCSI) se agote al punto de demorar más de 14 horas para compactar toda esa información. Disminuyendo así el procesamiento en horario laboral, lo que hace este proceso inviable. Sin embargo si usamos una compresión menor en este compactador podemos lograr una razón cantidad datos/ costo computacional muy buena. Por ejemplo usando un modo de compresión menor podemos lograr un tamaño de solo 5 GB en un tiempo de solo 2 horas lo que comparado con los 3 GB en 14 horas es realmente un gran avance.
Otra de las técnicas más usadas y necesarias en nuestro caso para salvar servidores Data Warehouse es la salva incremental, que puede generar el servidor SQL Server. Esta salva incremental necesita ante todo que ya se tenga una salva completa de la BD, pero en las restantes salvas se hace solo salva de los datos que han sido modificados o adicionados, lo que disminuye en gran medida este volumen de salva. Por su parte la restaura de los datos salvados con una salva incremental es mucho más rápida y fiable que restaurar una salva completa de la BD. Esta sin duda es la mejor de las opciones cuando se habla de Data Warehouse, ya que los datos de un sistema así no cambian con tanta frecuencia como los de las aplicaciones OLTP, por lo que el volumen de la salva incremental es muy pequeño y por otra parte las adiciones de datos se hace en muchos casos con una diferencia de tiempo bastante grande.
Nota: Recuerde siempre que los datos salvados deben ser llevados a un dispositivo externo y guardados fuera del local de servidores con una seguridad física buena, pues si son obtenidos por otras personas estas podrán saber muchos datos de la empresa.
A continuación vamos a ver un ejemplo de cómo usar el WINRAR en un script para salvar los datos de un servidor Data Warehouse.
Ejemplo 9: Salva de datos de un servidor Data Warehouse.
rem Script para las salvas diarias de los servidores
@echo off
echo "salva del dia:" >> F:\Tareas\Backup\log.txt
date /T >> F:\Tareas\Backup\log.txt
time /T >> F:\Tareas\Backup\log.txt
del /f /q E:\Shared\Backup\bk*.rar
FOR /F "usebackq tokens=2,3,4 delims=/ " %%i IN (`date /t`) DO @SET datebackup=%%k%%i%%j
FOR /F "usebackq tokens=1,2 delims=: " %%i IN (`time /t`) DO @SET timebackup=%%i%%j
FOR /F "usebackq tokens=1 delims= " %%i IN (`date /t`) DO @SET dayname=%%i
SET DAYTIME=%datebackup%%timebackup%00
if EXIST daytimelastbackup.txt goto NoFirstTime
rem primera vez que se salvan los datos
rem Salvar SQL
dir E:\SqlData\MSSQL\BACKUP\*.bak /B /L /S /A:-D > F:\Tareas\Backup\filelistaplics2.lst
dir E:\SqlData\MSSQL\BACKUP\*.trn /B /L /S /A:-D >> F:\Tareas\Backup\filelistaplics2.lst
"C:\Program Files\WinRAR\rar.exe" a E:\Shared\Backup\bkaplics1.rar @F:\Tareas\Backup\filelistaplics1.lst
"C:\Program Files\WinRAR\rar.exe" a -m1 E:\Shared\Backup\bkaplics2.rar @F:\Tareas\Backup\filelistaplics2.lst
rem recopilar toda la salva bajo un solo nombre
"C:\Program Files\WinRAR\rar.exe" a -m0 E:\Shared\Backup\sas9%datebackup%.rar E:\Shared\Backup\bk*.rar
goto eof
:NoFirstTime
rem ################################ Empieza la salva incremental
for /F "tokens=1" %%i in (daytimelastbackup.TXT) do @SET LastBackup=%%i
rem Salvar SQL
dir E:\SqlData\MSSQL\BACKUP\*.bak /B /L /S /A:-D > F:\Tareas\Backup\filelistaplics2.lst
dir E:\SqlData\MSSQL\BACKUP\*.trn /B /L /S /A:-D >> F:\Tareas\Backup\filelistaplics2.lst
"C:\Program Files\WinRAR\rar.exe" a -ta%LastBackup% E:\Shared\Backup\bkaplics1.rar @F:\Tareas\Backup\filelistaplics1.lst
"C:\Program Files\WinRAR\rar.exe" a -ta%LastBackup% -m1 E:\Shared\Backup\bkaplics2.rar @F:\Tareas\Backup\filelistaplics2.lst
rem recopilar toda la salva bajo un solo nombre
"C:\Program Files\WinRAR\rar.exe" a -m0 E:\Shared\Backup\sas9%datebackup%.rar E:\Shared\Backup\bk*.rar
:eof
rem Fin del Script de Salva
echo %DAYTIME% > daytimelastbackup.TXT
net use x: \\sas2\salvasdia /user:xxxx "xxxxxxx"
if %ERRORLEVEL% EQU 0 (copy /Y E:\Shared\Backup\sas9*.rar x:\%dayname%\) else (echo "Error al Conectarse al servidor" >> F:\Tareas\Backup\log.txt)
if %ERRORLEVEL% EQU 0 (del /F /Q E:\Shared\Backup\sas9*.rar) else (echo "Error al copiar el archivo al servidor" >> F:\Tareas\Backup\log.txt)
if %ERRORLEVEL% EQU 0 (echo "Salva Exitosa" >> F:\Tareas\Backup\log.txt)
net use x: /d
del /f /Q E:\Shared\Backup\bk*.rar
time /T >> F:\Tareas\Backup\log.txt
Conclusiones
- El uso de sistemas Data Warehouse es una poderosa estrategia para administrar empresas.
- Los resultados que arrojan los análisis de los datos obtenidos y consolidados en el Data Warehouse pueden hacer que la directiva de la empresa corrija las estrataegias hasta ahora trazadas y mejore así las ganancias.
- El mantenimiento de un Sistema Data Warehouse es algo complejo, que requiere de recursos monetarios y estrategia.
- El modelo dimensional brinda una forma muy sencilla de representación de los datos y mejora así el tiempo de consultas a la base de datos.
- Los sistemas de transformación de datos de SQL Server brindan una poderosa herramienta a quienes se inicien en la confección de un Data Warehouse sobre este gestor de Bases de datos.
Bibliografía
- Robert Wrembel & Christian Concilia, DATA WAREHOUSES AND OLAP Concepts, Architectures and Solutions, 2007.
- Microsoft, Microsoft SQL Server 7.0 Data Warehousing Training Kit, Microsoft Press, 2000.
- Microsoft, Microsoft Training and Certification, Course 2073A, Programing a Microsoft SQL Server 2000 Database, Microsoft Press, 2000.
- Microsoft, Microsoft Training and Certification, Course 2072A, Administering a Microsoft SQL Server 2000 Database, Microsoft Press, 2000.
- Microsoft, SQL Server 2000 Books Online, Microsoft Press, 2000
Autor
Erith Eduardo Pérez Gallardo
Administrador Red Sucursal Cimex Ciego de Ávila
Ing. Informática y Aspirante Master en Informática Aplicada
Correo: Eth0@cimex.com.cu
Tel Trabajo: 053-33-266168
|