Portada

Mostrando entradas con la etiqueta Base de datos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Base de datos. Mostrar todas las entradas

viernes, 23 de enero de 2015

Modulo 2 Preparando el SIstema para SQL 2012

La Arquitectura de SQL Server:

3 Categorias de componentes existen y estan en capas:

- Execucion de la consulta:
- Motor de almacenamiento:
- SQL OS

Capa de Ejecucion:Gestiona conexiones y seguridad. Parser chequea que T-SQL esta bien utilizado, entregando lo que se quiere lograr en la consulta. Optimizador de consultas que encuentra un plan aceptable para cada costo de operacion.

Capa de Alamacenamiento:  Gestiona los datos que se llevan a la BD, gestionando como se almacenan los datos tanto en disco como en memoria, y su guardado en cache. Bloqueos y transacciones tambien es su responsabilidad para coherencia de datos.

           - Componente de metodos de acceso. Gestiona la cantidad de datos que se acceden.
           - Cache de Pagina: Minimiza el tiempo que accede el motor a las pagina de datos.
           - Componente de Bloqueo y transacciones. con la ayuda de log de transacciones de la base de               datos.

Capa de S.O.: Proporciona las funcionalidades del sistema oeprativo para los componentes de SQL Server,



USO de CPU.

   Windows usa threads para funcionar y el sistema operativo tiene un reloj para medir e interrumpir estos threads cuando considera que su tiempo se ha acabado. En lugar de usar los Threads de windows, SQL crea un subproceso de hilos que se asignan a los Threads de windows.

CPU Affinity Mask

    Estima que CPU debe usar un Threads.

TAKS and RESOURCES

     Las tareas esperan los recursos y es tarea de SQL Server OS la asignacion de recursos a estas tareas.

PARALELISMO

    Por el coste que esto tiene solo se usa para consultas que realmente valen el costo en recursos que esto significa. Umbral de costo, determina cual es el umbral que debe cumplir una consulta para usar paralelismo.

   EL optimizador solo crea una plan de consulta en paralelo, pero no decide su ejecucion si no el    SQL Server O.S.

SISTEMAS DE 32X

Virtual Address State: (VAS) Los Procesadores de 32X solo tienen un VAS de 4 GB de memoria y 2 GIGA son de sistema operativo y el resto esta disponible para aplicaciones. El switch se puede modificar en el archivo BOO.INI o usando el BCDEDIT en sistemas operativos mas recientes. (ver este link)


VAS depende de la consfiuracion del servidor y es la memoria que SQL Server puede referenciar a Windows.

SQL Server necesita grandes cantidades de memoria cache para consultas. SQL FUNCIONA MEJOR EN UNA VERSION DE 64X QUE EN UNA DE 32X. podremos obtener hasta 7 u 8 terabytes dependiendo del motor instalado.

Todas las operaciones de datos se llevan a cabo en la cache de datos. Las modificaciones nunca se realizan en las paginas de datos.

Entrada y SAlida  I/O Logica y Fisica.

Cuando un dato no esta en la cache esta entrada y salida se llama I/O Fisica. Optimizar los indices y el diseño fisico y logico y optimizando consultas esto se puede ayudar a disminuir las lecturas y escrituras. Una I/O logica se produce cuando este datos se puede recuperar del buffer cache.


                                     PLANIFICACION DE LOS REQUERIMIENTOS.

CPU

1- Hablar con el proveedor de software, para experiencias previas que el tenga.
2- Prueba de diferentes configuraciones. Se debe definir a nivel de negocios para definir cuanto tiempo se necesita guardar cierta informacion.
3- Preveer futuros crecimeintos.

Uso de CPU: depende de los tipos de consultas, y mas sencillo ya que no puedes calcular mucho los recursos de procesador. Hacer pruebas de cargas realistas es la mejor opcion. Mas CPUs los planes de consulta en paralello se veran mejor afectados. sobre todo si existen grandes volumenes de datos. Asegurese que el servidor esta dedicado solo a SQL Server o servicios poco importantes en el mismo servidor.

NUMA> si tienes multiples CPUs y solo un bus para memoria y procesador, esto puede transformarse en un cuello de botella. En los sistemas basados en NUMA existe un BUS para cada grupo de CPUs.


MEMORIA

 SQL Server Usa mucha memoria, ya que las consultas consumen de esta en grandes volumenes de datos, y mantiene los datos del usuario para cada contexto de ejecucion. Tambien la memoria es usada por otros agentes del sistema operativo.

Las experiencias de instalaciones similares solo puede ser utilizado como una guia.

ADAPTADORES DE RED

Pruebas de requisitos son fundamentales, 1 adaptador no siempre alcanza. considere multiples adaptadores.

EQUIPO de PERSONAS

Considere consultar a un equipo multidicplinario.

DISCO

Se requiere mucho disco. considerelo I&O grandes exploiraciones se realizaran. DAS es bueno y predecible, |SAN implica mas trabajo pero tambien es posible,







jueves, 22 de enero de 2015

DataBase Engine Tuning Advisor

Herramienta para tuning de consultas. Que almacena y captura datos almacenandolos en una traza.

SQL TRACE Biblioteca de procedimientos almacenados en el sistema. La salida puede ser un sistema de archivo operativo con extension TRC tamaño de 5 Mb asignados por defecto, aunque tambien se puede almacenar en tablas.

Las trazas tienes categorias y cada categorias tiene eventos clasificados por similitud. Una clase de evento incluye los tipos de eventos que pueden ser trazados. Los eventos se definen por atributos que aparecen en las columnas de datos.

Se utilizaran filtros para no sobrecargar el sistema y no tener un analisis tan complejo. SQL Profiler puede ayudar a definir clases de eventos o trazas.

SQL Server posee plantillas predefinidas para determinados tipos de trazas.


Extended Event Profiler

SQL Server 2012 introduce la herramienta para gestion de sesiones y captura de eventos. Misma tecnologia que SQL Server Audit.  con el tiempo Extended Event reemplazara a SQL Server Audit.

Las opciones disponibles para la optimizacion del rendimiento es una proceso iterativo de mejora continua. Con base en el objetivo se debe supervisar el sistema y efinir las herramientas que se utilizaran.

Una linea base debe ser creada y luego de esto implemtar cambios desarrolando la estrategia para mejorar.

DETA Analiza cargas de trabajo. luego de esto proporciona recomendaciones para mejorar el rendimiento del sistema. La ejecucion puede llevar mucho tiempo si tiene muchos objetos en la base de datos. Se puede realizar analisis exploratorio combinando herramientas manuales y otras automatizadas.

Usando la configuracion expecificada por el usuario, puede revisar por separado:

- Indices
- Vistas Indexadas.
- Particiones.

Ayudara a analizar los efectos sin sobrecargar al motor de datos.

Las Trazas a traves SQLTRACE y SQLPROFILER.

SQLPROFILER llama a SQLTRACE facilitando la ejecucion a SQL SERVER la administracion de las trazas.

Las diferencias entonces son que:

SQLTRACE Se define mediante llamados a SP de sistema. Se ejecuta en el interior del gestor.
SQLPROFILER  se define mediante una interfaz grafica. se ejecuta fuera del gestor.


SQLTRACE puede escribir eventos en SQL Server MAnagement Object. Util para correr por largo tiempo o trazas criticas con impacto significativo.

SQLPROFILER  puede escribir en los archivos o tablas de las bases de datos.Usado para depuracion en sistemas de prueba, captura de pequeñas trazas.

Existen trazas predeterminadas.

Se inicia cuando parte el gestor de datos con hasta 5 mb de tamaño de archivo. Para correlacionar una traza con contadores de rendimiento tendra la opcion de hacerlo mediante la interfaz grafica.











miércoles, 21 de enero de 2015

Como Chequear La integridad de una Base de Datos


Integridad de las Bases de Datos, la integridad en una base de datos es la corrección y exactitud de la información contenida. Además de conservar la seguridad en un sistema de bases de datos que permite el acceso a múltiples usuarios en tiempos paralelos.

DBCC CheckDB.
DBCC CheckDB Options.
DBCC CheckDB Repairs.

Es raro que bases de datos pasen a estar corruptas pero puede suceder mas por temas de plataforma (temas en I/O o problemas en la memoria del sistema).


DBCC  se sumistra con SQL Server CheckDB suministra la revision de una base de datos con multiples mas funciones, que se pueden realizar por separado.

Las opciones mas importantes son:


1.- DBCC CHECKALLOC -  chequea la consistencia del espacio en disco.
2.-DBCC CHECKTABLE DBCC CHECKDB executes DBCC CHECKTABLE para todas las tablas
3.-DBCC CHECKCATALOG no chequea usuarios.



No siempre es posible reparar una base de datos, sin perdida de datos. Por lo que restaurar siempre es lo mejor, y esta opcion debe estar alineada con la politica de retencion de respaldos.




Una vez encontrados los errores, tenemos dos opciones de reparacion. Para las opciones de reparacion la base de datos debe estar en modo SINGLE USER MODE. 


DBCC CheckDB REBUILD funciona con algunas formas de corrupcion y no implica perder datos. Reorganiza indices y elimina las paginas de datos corruptas.
REPAIR_ALLOW_DATA_LOSS Implica la perdida de datos. Se eliminan los objetos corruptos y sus referencias desde otros objetos. Luego de la reparacion la base de datos queda consistente, pero solo en su integridad, muchos datos pudieron haberse perdido.

PREFIERA usar el RESTAURAR la BASE DE DATOS.

jueves, 31 de mayo de 2012

Arreglos de Discos para un servidor con SQL




Un problema comun a la hora de armar e instalar un servidor para ser gestor de datos (el motor de datos esta en el taller mecanico), ccorresponde a como armo los arreglos de discos. lo anterior debido a que la base de datos y su rendimiento esta directamente ligada a cuan rapido lea y escriba en los discos el sistema operativo. Y por supuesto que mejores discos (SSD SAS SATA) mejorar la performance, tambien es cierto que en el orden equivocado pueden ser un fiasco.

Aqui de mi experiencia les dejo la mejor configuracion a mi gusta en forma standard para cualquier server con una data mediana.

La configuración del Servidor es la siguiente.

-          Bahía 1 – 2                 | Raid 1+0            | Dos discos de 146 GB.               |Sistema operativo
-          Bahía 3 – 4                 | Raid 1+0            | Dos Discos de 146 GB.              |TempDB
-          Bahía 5 – 6 – 7 – 8     | Raid 5               | 4 Discos de 300 GB.                    |DATA.

Por supuesto que la data podria ser mas grande y esto lo arreglariamos poniendo discos mas grandes al arreglo en RAID 5, pero para una base de datos standard esto seria optimo.


SSaludos !


viernes, 30 de marzo de 2012

Sizing Dimesionamiento o calcular tamaño de exchange 2010.

Estimados amigos..

me he visto en la necesidad de montar un exchange y diables que calcular es una responsabilidad, asi que se me ocurrio poner algunas herramientas y el camino para ello:

Lo primero que hice fue bajar algunas herramientas que sirven para ello:

Herramienta de HP que te pregunta mucho. Existe para Exchange 2007 XD
http://h71019.www7.hp.com/ActiveAnswers/us/en/sizers/microsoft-exchange-server-2010.html

Exchange 2010 Mailbox Server Role Requirements Calculator herramienta Microsoft que aun no se para que sirve pero ya me imagino: Usa el Exchange Profile Analyzer (EPA) para entender el perfil de uso del correo en tu sistema actual
http://www.microsoft.com/downloads/en/details.aspx?familyid=C009C049-9F4C-4519-A389-69C281B2ABDA&displaylang=en

Con los datos del EPA utilizaremos el Exchange Storage Calculator.
htthttp://msexchangeteam.com/archive/2010/01/22/453859.aspx

y asi seguimos por este largo camino... Pero saben despues de mirar bien, creo que hay algunas preguntas que debemos formularnos para poder dimensionar el sizing son las primeras y en base a eso podemos utilizar la herramienta HP  bueno veamos cuales serian, lo que sigue lo prepare con mucho afecto asi que por favor les pido, tengan a bien el uso de este material y si lo combinan con la herramienta de HP saldran rapidamente de un "SIZING EXCHANGE 2010"


-          Cantidad de Buzones= 1000

-          Definición de la carga de Trabajo de los Mail-boxes (Elija solo una) =
                            #Ejemplos a continuación..

§  20 enviados 40 recibidos.

§  30 enviados 80 recibidos.

§  40 enviados 120 recibidos.

§  50 enviados 160 recibidos.

§  60 enviados 200 recibidos.

§  70 enviados 240 recibidos.

§  80 enviados 280 recibidos.

§  90 enviados 320 recibidos.

§  100 enviados 400 recibidos.



-          Tamaño de mensaje promedio: (1 – 500 KB)=



-          Limite del tamaño de casilla Personal(0 – 10,000 MB)=



-          Retención de los elementos eliminados (0 a 365 Días)=



-          Que porcentaje de Usuarios utilizaran Outlook 2010/2007/2003 (0 – 100 %)=



-          Utilizarán Desktop Search (No Windows Desktop Search Engine V 4.0 ) (Si - No) =



-          Utilizarán Outlook Web App (0 – 100 %)=

-           

-          Utilizaran Voice Access (0 – 100 %)=

-           

-          Research in motion (BlackBerry) (0 – 100 %)=

-           

-          Utilizaran el Buzón de Diarios (Mailbox Journaling)(0 – 100 %)=

o   Si es asi cuantos días retendrán esos datos (1 a 3650 dias)=



-          Periodo de tiempo para la política de retención (1 a 3650 días)=



-          Utilizara DAG ("Database Availability Group") -Requiere Windows Enterprise- (Si - No) =

o   SI lo utiliza cuantas copias tendra (2 - 4)=



-          Numero Máximo de (casillas) por servidor (100 – 10,000)=



-          Factor de Sobrecarga Standard 20 % (30% recomendado)(0 – 100 %)=



-          Buzones que se mueven por semana (0 – 100 %)=



-          Quieres un mantenimiento especializado / restauración de LUN? (Si - No) =



-          Espacio libre deseado en LUN (20% recomendado) (0 – 70 %)=



-          Factor de Sobrecarga de I/O  20 % (30% recomendado)(0 – 100 %)=



-          Requiere servidores Dedicados para cada Rol (Mail Box – Client Access Server “CAS” – Hub Transport “HUB” – Mensajería unificada “UM”) (Si - No) =



-          Solución de Backup (Elija solo una de las siguientes)=  

o   Backup Local utilizando Tape Drive, Tape Arrays o Tapes Tamaño Small para el almacenamiento de Backups.

o   Solución Enterprise utilizando Servidor Dedicado con Canales de fibra en la línea de productos EBS (Enterprise Backup Solution), o librería según requerimientos.

o   Utilizara una solución existente en la RED, esta opción permite que coloquemos una NIC dedicada en el hardware para su solución.

o   No Configurar Backup.



-          Periodicidad del  respaldo (Elija solo una de las siguientes)=

o   Mensual Full – Diario incremental.

o   Diario Full.

o   Semanal Full – Diario Diferencial.

o   Semanal Full – Diario Incremental.



-          Tolerancia a fallos del Backup (0 – 30 Días)=



Preguntas que Puede Resolver el Fabricante y bueno pero aqui estan XD:



-          Arquitectura (Blade - Rack - Tower) (Elija solo una)=

-          Vendedor del Procesador ( Intel - AMD) (Elija solo una)=

-          Marca Servidor y modelo si prefiere alguno en particular (IBM - HP)(Puede agregar una si lo desea)=

-          Core (Dual – Quad - Hexa) (Elija solo una)=

-          Velocidad de Procesador (1.60 Ghz – 3.60 Ghz)=

-          Numero de Procesadores (1 - 2) =



Opciones de redundancia.



-          Adaptadores de Red Redundantes (SI/NO)=

-          Memoria Redundante(SI/NO) =

-          Fuentes de Poder Redundantes(SI/NO) =

-          Ventiladores Redundantes(SI/NO) =



-          Arquitectura del Almacenamiento (Elija Solo una)=

o   Recomendada.(Esta es mi opinion segun lo que vea mas arriba)

o   DAS (Atachada).

o   DAS (Compartida).

o   SAN (Iscsi).

o   SAN (Canal de Fibra).


Bueno eso es todo por ahora no se olvide de visitar la Pagina www.hpcd.cl que es donde estoy trabajando actualmente y saludos !