Datos registro – log
backup
Sobre una BBDD de SQL, en el almacenamiento debería ampliarse el espacio para incrementar su
capacidad, para añadir datos.
Temp_DB, guarda archivos temporales. Ordena las transacciones sobre las BBDD. Es necesario,
usar un disco para la BBDD Temporal.
TEMPDB: Tiene el doble de tamaño que las otras BBDD. Filegroups – 0.25 a 1, 2 micro – 6
filegroups.
Plan de estrategia:
1. Sintaxis (entender todas las fases)
2. Objetos
3. Plane de ejecución
4. Compilar
5. Consumo (ejecución)
1 instancia por registro. Lcada instancia por 1collation. Los collations nos permite ordenar o
agrupar los registros.
Force Sort – fuerza al motor de la bbdd, elegir cual es la tabla más pequeña.
Fast (n files) - fuerza el traslado de filas de la tabla.
Pivot – intercambiar filas por columnas o campos.
Esquema
Vista (normal) = seguridad Vistade
indexada
como
Esquema se
sentenci recupera
a SQL Sincroni
Que se zación
ejecuta Select c1, c2, c33 from T1 Datos
with schema binding Materiali
CTE CTE zados
(recursiva)
Modo de Recuperación de Registro Masivo (Bulk-Logged Recovery Model). Este
Modo de Recuperación sólo debe ser utilizado de forma intermitente o
eventual para mejorar el rendimiento de las Operaciones de Registro Mínimo.
Las Operaciones de Registro Mínimo realizarán un registro mínimo en el LOG de
SQL Server, minimizando las escrituras en LOG y maximizando el Rendimiento de
SQL Server.
El Modo de Recuperación, también conocido como Modelo de Recuperación ó Modo de
Registro, es una opción de configuración de base de datos que indica cómo se gestiona
el uso del LOG de Transacciones de SQL Server para dicha base de datos (esta opción
se configura para cada base de datos de forma independiente). En función de la
configuración del Modo de Recuperación debemos elegir la estrategia de Backup y
Restauración de SQL Server (o viceversa), y podremos mejorar el rendimiento de
ciertas operaciones denominadas Operaciones de Registro Mínimo, minimizando las
escrituras en el LOG de SQL Server (y en consecuencia, minimizando el tamaño del LOG de
SQL Server).
RESTAURAR BBDD
sqlcmd tempdb recovery [comando recuperacion en el cmd]
El Modo de Recuperación, también conocido como Modelo de Recuperación ó Modo de
Registro, es una opción de configuración de base de datos que indica cómo se gestiona
el uso del LOG de Transacciones de SQL Server para dicha base de datos (esta opción
se configura para cada base de datos de forma independiente). En función de la
configuración del Modo de Recuperación debemos elegir la estrategia de Backup y
Restauración de SQL Server (o viceversa), y podremos mejorar el rendimiento de
ciertas operaciones denominadas Operaciones de Registro Mínimo, minimizando las
escrituras en el LOG de SQL Server
las Operaciones de Registro Mínimo tiene la peculiaridad de que en el Modo de
Recuperación Completo se registran de forma completa en el LOG, mientras que
en los Modos de Recuperación Simple y de Registro Masivo (Bulk-Logged)
realizan un registro mínimo en el LOG de SQL Server
Opciones de restauracion – Restaurar BBDD: quitar sobreescribir la Bbdd existente y en copia del
final del registro, quitar la realizar copia del final del registro. De esta maneera podras realizar la
restauración de la bb.dd
with replace – solo deja reemplazar la BBDD si hace un tail-log backup
with move (otra ubicación) – al restaurar te dejará la BB.DD donde tu quieras y no en la ruta que
tenia por defecto.
with standby – la deja en estado de restauración <=> log – shipping (sistem replicacion)
te permite cotillear que datos se estan restaurando
with norecovery – para aplicar posteriores logs. No te pone la BBDD online para restaurar
with recovery – (por defecto). te pone la BBDD online para restaurar
partial -
stopap – restaura en un punto en el tiempo 11:00 am
stopatmark – lo marca con un nombre.
Data -
Undo - Fases
Redo -
MONITORIZAR SQL SERVER
Profiler – short term – reutilizar una traza (reproduccion)
Sys (management views)
Montar de rendimiento (tiempo de espera de recursos)
data collection (long-term)
eventos extendidos (más información sobre un evento)
Tunning Advisor – traza
Creación de Indices Agrupados (CLUSTERED) y No
Agrupados (NONCLUSTERED)
un buen indice tiene que ser selectivo, cuando se realice la busqueda.
Los indices se pueden alienar en función de las condiciones de la tabla.
Un correcto dimensionamiento de los ficheros de la base de datos también resulta
fundamental, evitando así el esfuerzo de los crecimientos de los ficheros. Existen más
detalles, como mantener el sistema sin Fragmentación, suficiente memoria, etc.
Otro tema importante, es la elección del tipo de índice más apropiado.
Índices Agrupados (CLUSTERED). Cualquier tabla, puede tener ninguno o un
índice agrupado (CLUSTERED). Los índices agrupados son la propia tabla, es decir,
cuando creamos un índice agrupado sobre una tabla, estamos convirtiendo a la
propia tabla en un índice, lo cual tiene varias implicaciones.
A efectos de rendimiento, es importante tener en cuenta, que una tabla con un
índice agrupado se almacenará de forma ordenada, lo cual, facilitará la satisfacción
de consultas con cláusulas ORDER BY o GROUP BY coincidentes con los campos del
índice, por poner un ejemplo representativo.
Índices No Agrupados (NONCLUSTERED). Se trata de estructuras ajenas a la
propia tabla, que consumen su propio almacenamiento. Esto permite, que la tabla
se pueda almacenar sobre un Grupo de Ficheros (File Group) y los índices no
agrupados sobre un Grupo de Fichero diferente (por ejemplo, sobre un volumen
distinto al que se accede por un camino de fibra separado). Es posible crear índices
no agrupados, sobre tablas sin índices y sobre tablas con índices (incluso aunque
tenga un índice agrupado).
Los índices No Agrupados, suelen ser especialmente efectivos para satisfacer
cláusulas WHERE sobre los campos del índice que devuelven un conjunto muy
pequeño de registros. También son muy apropiados para satisfacer consultas cuyos
campos están todos incluidos en el índice (de este modo, no es necesario acceder a
la tabla, pues toda la información está en el índice).
Para una base de datos es vital evitar el problema de la fragmentación. Esto que
pierde importancia en bases de datos pequeñas, es un factor de éxito en bases de datos
medianas o grandes con cierta actividad. La fragmentación es uno de los principales
problemas de rendimiento con SQL Server.
La fragmentación existente en el sistema de ficheros y/o en la base de
datos (tablas y/o índices) puede causar la realización de operaciones de entrada/salida
innecesarias, lo cual tiene como resultado un peor rendimiento en las consultas de base de
datos, con un peligroso efecto de bola de nieve (las consultas duran más => los bloqueos
se mantienen más tiempo => las consultas tardan más por la fragmentación y los
bloqueos => etc. ).
El primer problema es conseguir mantener defragmentado el sistema de ficheros. El
sistema de ficheros, con la creación, modificación y eliminación de ficheros, se fragmenta,
efecto que con el paso del tiempo va empeorando si no se toman medidas
Para reconstruir las Bases de Datos del Sistema (master, model, msdb), deberemos
ejecutar el SETUP.EXE desde el DVD de instalación de SQL Server, para lo cual, debemos
utilizar los parámetros que se muestran a continuación:
/QUIET o /Q. Ejecutar el SETUP.EXE sin interfaz gráfica.
/ACTION=REBUILDDATABASE. Especificar que se desea reconstruir las Bases de
Datos del Sistema (mater, model, msdb).
/INSTANCENAME=InstanceName. Especificar el nombre de la instancia sobre la que
se desea actuar. Para una instancia por defecto utilizar MSSQLSERVER.
/SQLSYSADMINACCOUNTS=accounts. Especificar los usuarios o grupos de Windows
que se desea hacer miembros de SysAdmin, separados por espacios.
[ /SAPWD=StrongPassword ]. Opcional. Especificar la password de SA, si se está
utilizando autenticación Mixta.
[ /SQLCOLLATION=CollationName ]. Opcional. Sólo debe especificarse cuando se
desea cambiar la intercalación de las Bases de Datos del Sistema.
Actualizamos las estadisticas, cuando podemos realizar un bulk loggin, para grandes tablas se te
actualizan automaticamente de una forma asincrona. Cuando tenga menos carga de trabajo.
Un plan de mantenimiento te permitirá realizar las siguentes tareas:
- Comprobar la integridad de la BBDD
- Reducir, reorganizar, actualizar, recompilar la BBDD, etc.
27/02/2015
OLTP -- FN -- Codd
Por cada categoria de producto tiene una dimension.
Por cada num de tablas se produce una cardinalidad.
Cleasing
Master Data (para sacar información)
sk Cod. Nombre Campo historico Fecha inicio Fecha Fin Sexo
1 A123 Pepe jefe 01/01/2015 null V
2 A321 Pepa peon 01/02/2015 null M
clave negocio
clave subrogada
DIMENSION
Clave subrogada codigo fecha Sexo
Tabla de hechos
Las Clave Subrogadas suelen utilizarse especialmente en tablas de dimensión
versionadas o históricas, conocidas como Slowly Changing Dimension (SCD) de
tipo 2, es decir, tablas de dimensión que almacenan tanto los datos actuales (versión
actual) como los datos históricos (versiones antiguas).
La mayoría de las tablas de base de datos con que trabajamos, utilizan un campo como
clave de acceso, el cual identificará de forma inequívoca a un elemento de negocio, y que
en muchos casostiene significado por sí mismo.
Una Clave Subrogada es un campo numérico de una tabla cuyo único requisito
es almacenar un valor numérico único para cada fila de la tabla, actuando como
una clave sustituta, de forma totalmente independiente a los datos de negocio, que
habitualmente no tiene significado por sí misma.
Un ejemplo de utilización de Claves Subrogadas sobre tablas no versionadas, es
el caso de la denormalización. Habremos obtenido un menor tamaño de
almacenamiento, y una indexación más óptima (es preferible indexar datos
numéricos que datos texto de gran longitud).
Un ejemplo de utilización de Claves Subrogadas sobre tablas versionadas de un
Data Warehouse (DW), es el caso de tener una Tabla de Dimensión Versionada.
Un Datawarehouse es una base de datos corporativa que se caracteriza por integrar y
depurar información de una o más fuentes distintas, para luego procesarla permitiendo su
análisis desde infinidad de pespectivas y con grandes velocidades de respuesta. La
creación de un datawarehouse representa en la mayoría de las ocasiones el primer paso,
desde el punto de vista técnico, para implantar una solución completa y fiable de Business
Intelligence.
La ventaja principal de este tipo de bases de datos radica en las estructuras en las que se
almacena la información (modelos de tablas en estrella, en copo de nieve, cubos
relacionales... etc). Este tipo de persistencia de la información es homogénea y fiable, y
permite la consulta y el tratamiento jerarquizado de la misma (siempre en un entorno
diferente a los sistemas operacionales).
Otra característica del datawarehouse es que contiene metadatos, es decir, datos sobre los datos. Los
metadatos permiten saber la procedencia de la información, su periodicidad de refresco, su
fiabilidad, forma de cálculo... etc.
Los metadatos serán los que permiten simplificar y automatizar la obtención de la información
desde los sistemas operacionales a los sistemas informacionales.
Los objetivos que deben cumplir los metadatos, según el colectivo al que va dirigido, son:
* Dar soporte al usuario final, ayudándole a acceder al datawarehouse con su propio lenguaje de
negocio, indicando qué información hay y qué significado tiene. Ayudar a construir consultas,
informes y análisis, mediante herramientas de Business Intelligence como DSS, EIS o CMI.
* Dar soporte a los responsables técnicos del datawarehouse en aspectos de auditoría, gestión de la
información histórica, administración del datawarehouse, elaboración de programas de extracción
de la información, especificación de las interfaces para la realimentación a los sistemas
operacionales de los resultados obtenidos... etc.
Por último, destacar que para comprender íntegramente el concepto de datawarehouse, es
importante entender cual es el proceso de construcción del mismo, denominado ETL (Extracción,
Transformación y Carga), a partir de los sistemas operaciones de una compañía:
* Extracción: obtención de información de las distintas fuentes tanto internas como externas.
* Transformación: filtrado, limpieza, depuración, homogeneización y agrupación de la
información.
* Carga: organización y actualización de los datos y los metadatos en la base de datos.
Principales aportaciones de un datawarehouse
* Proporciona una herramienta para la toma de decisiones en cualquier área funcional, basándose
en información integrada y global del negocio.
* Facilita la aplicación de técnicas estadísticas de análisis y modelización para encontrar relaciones
ocultas entre los datos del almacén; obteniendo un valor añadido para el negocio de dicha
información.
* Proporciona la capacidad de aprender de los datos del pasado y de predecir situaciones futuras en
diversos escenarios.
* Simplifica dentro de la empresa la implantación de sistemas de gestión integral de la relación con
el cliente.
* Supone una optimización tecnológica y económica en entornos de Centro de Información,
estadística o de generación de informes con retornos de la inversión espectaculares.
SQL Server Destination – solo sirve cuando se trabaja sobre el mismo servidor, mejor no usarlo.