• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Entendiendo el sistema de almacenamiento de datos y SQL Server
 

Entendiendo el sistema de almacenamiento de datos y SQL Server

on

  • 1,470 views

Presentación de los fundamentos claves sobre los componentes que conforman el sistema de almacenamiento de datos en escenario de alto desempeño con MS SQL Server 2012.

Presentación de los fundamentos claves sobre los componentes que conforman el sistema de almacenamiento de datos en escenario de alto desempeño con MS SQL Server 2012.

Statistics

Views

Total Views
1,470
Views on SlideShare
1,470
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Entendiendo el sistema de almacenamiento de datos y SQL Server Entendiendo el sistema de almacenamiento de datos y SQL Server Presentation Transcript

    • Entendiendo el Sistema de Almacenamiento de Datos y SQL Server Jose Redondo
    • Expositor  Jose Redondo  Chapter Leader SQL PASS Venezuela – Caracas Chapter  DPA SolidQ  Senior Consultant SynergyTPC, Bogotá - Colombia  ​MCP | MCTS - MS SQL Server; MTA - DAF | SQL Server MVP
    • Organización
    • Patrocinadores / Sponsors  GOLD  SILVER  BRONCE  Personal/Swag
    • Dispositivos de almacenamiento
    • Agenda  Estructura del sistema base  Controlador de Discos, Adaptador de Bus del Host e Interfaces  Fundamentos de discos de almacenamiento  Arreglos redundantes de discos de bajo perfil  Fundamentos de arreglos SAN  Conceptos básicos de almacenamiento de estado solido  SQL Server y el Sistema de Archivos  Probando el nuevo sistema de almacenamiento  Supervisión del sistema de almacenamiento
    • Estructura del sistema base Bus del Sistema El servidor se compone de varios bus y controladores que se comunican el uno del otro y a la CPU. Bus Frontal  Por lo general, único acceso a la memoria  Bus del sistema más veloz  HyperTransport / Quickpath reemplazando a FSB Bus Controlador I/O  También conocido como el bus de periféricos  Todos los dispositivos  Todas las ranuras de expansión
    • Estructura del sistema base Tipo de Bus Velocidad MB / Segundo PCI 32-bit/33 MHz 133 PCI-X 1066 PCI Express x1, 4, 8, 16 250, 1000, 2000, 4000 PCI Express 2.0 x16, 32 8000,16000 PCI Express 3.0 x16 (2011~) 32000 Buses Periféricos y Velocidades
    • Estructura del sistema base Tipo de Bus Velocidad MB / Segundo SATA/SAS150, 300, 600 150, 300, 600 Fibre Channel 1G,2G, 4G, 8G 106, 212, 425, 850 iSCSI1Gbit, 10Gbit 125, 1250 Velocidades de las Interfaces
    • Controlador de Discos, Adaptador de Bus del Host e Interfaces Unidad de caché de 2MB a 64 MB+  Segmentación Adaptable  Pre-Fetch Adaptadores RAID de Bus Host  Lee la memoria caché  Todo el almacenamiento escrito en caché ¡ADVERTENCIA!  Escribe habitualmente  Pagar ahora o pagar más tarde  Escribe la toma precedencia sobre lecturas efectuadas  Pool de buffer de 16GB vs. 256 MB de caché de I/O. Hagan los cálculos
    • Los Fundamentos de Discos de Almacenamiento SAS es el rey de las cargas de trabajo pesadas Comando en cola  SAS admite un máximo de 216 por lo general un límite de 64  SATA admite un máximo de 32 Detección y recuperación de errores  No es inteligente  El comando set en SCSI es mejor Dúplex  SAS es full dúplex y dual por unidad puerto  SATA es única a doble cara y maneja un solo puerto I/O Multi-path  Nativo de SAS a nivel de unidad.  Disponible para SATA a través de expansores. SAS o SATA
    • Los Fundamentos de Discos de Almacenamiento Los discos duros emiten lo siguiente: Sólo eres tan rápido como el canal más lento o más estrecho, ya que para alimentar a otras partes del sistema, hay que añadir una cantidad extra de unidades de discos solo para obtener el I/O deseado a consumir en el servidor. Breaking news: El problema no es el tamaño es la velocidad. Unidades de Discos Tiempo Por el año 1981 Hoy día Mejora Capacidad 10MB 1470MB 147x Busqueda HDD 85ms/busqueda 3.3ms/busqueda 20x IO/Seg 11.4 IO/Seg 303 IO/Seg 26x Rendimiento de Procesamiento HDD 5mbit/Seg 1000mbit/Seg 200x Velocidad CPU 8088 4.77Mhz (.33 MIPS) Core i7 965(18322 MIPS) 5521x
    • Los Fundamentos de Discos de Almacenamiento Cabecera/Sectores/Cilindros  No una verdadera representación física!!! Ubicación del dato/pista  Pistas exteriores comprimen más datos = Más MB / Seg  Pistas interiores buscan más rápido = Más I/O Seg  Más discos no = Más velocidad!!!  HDD actual sólo tienen un canal de lectura/escritura Estructura Física
    • Los Fundamentos de Discos de Almacenamiento  Las pistas son un camino alrededor del disco  Los sectores son una sola porción / pedazo de un disco  Cilindro son a través de los discos y se componen de sectores  Cabezas de hacen la lectura y la escritura Ubicación del sector de dato
    • Los Fundamentos de Discos de Almacenamiento Velocidades típicas 73 GB SAS/SCSI  Velocidad de rotación - 15,000 RPM  Promedio de búsqueda aleatoria I/O - En la realidad 5.5 ms Tiempo de lectura; 6.0 ms Escritura teórica; 2.9 ms Lectura; 3.3 Escritura  Tasa de Transferencia Secuencial 65MB ~ 120MB/seg  Tasa de Transferencia Aleatoria 10MB ~ 30MB/seg  Memoria caché puede afectar el tamaño de bloque de dato entre 4 ~ 64k  Búsqueda secuencial entre pista en I/O - 0.5 ms de lectura, 0.7 ms de escritura  Latencia de rotación - 2.0 ms Rendimiento de disco
    • Los Fundamentos de Discos de Almacenamiento Tiempo de búsqueda El tiempo necesario para mover las cabezas de lectura/escritura sobre la superficie del disco a la pista requerida. El tiempo de búsqueda es aproximadamente proporcional a la distancia que deben mover las cabezas. Latencia de rotación Pasa el tiempo tomado, después de la finalización de la búsqueda, para el disco hasta que el primer sector dirigida sus acciones bajo las cabezas de lectura/escritura. En promedio, la latencia de rotación es la mitad de una rotación completa. Tiempo de transferencia El tiempo necesario para que el disco gire o rote hasta que hayan pasado todos los sectores incluidos en el marco de las cabezas de lectura - escritura. Velocidad de giro (RPM) Tiempo Promedio de Latencia (ms) Aplicaciones Típicas Actuales 5,400 5.6 IDE Desktop/Laptop 7,200 4.2 Estándar Actual IDE/SATA 10,000 3 High-end estándar SATA SAS/SCSI 15,000 2 Máximo Actual SAS/SCSI
    • Los Fundamentos de Discos de Almacenamiento Calculando la búsqueda máxima aleatoria por segundo Búsqueda máxima aleatoria por segundo  1000 / (Tiempo de búsqueda[ms] + latencia[ms]) = IO/Seg  1000 / (4.7 + 2.0) = 204 Lectura/Seg  1000 /(3.3+2.0) = 188 Escritura/Seg Latencia de efectos en cola!!!
    • Los Fundamentos de Discos de Almacenamiento Utilización máxima para mejor rendimiento  Escritura máxima de búsqueda por segundo = 188  La curva de ejecución sea en un 80%  Configure para que el promedio I/O de 140 aplique aleatoriamente por segundo en disco I/O  Esto es un 75% de capacidad máxima  Mantener baja latencia!!!
    • Arreglos redundantes de discos de bajo perfil  El I/O secuencial es mucho más rápido  Tiempo de búsqueda 5.5ms → 0.7ms  Cálculo rinde 370 I/O por segundo  o 277 I/O por segundo @ 75%  > 300+ I/O por segundo es común para secuencial  A medida que aumenta el I/O también incrementa la Latencia  Rendimiento secuencial del disco puede estar cerca del rendimiento del SSD
    • Fundamentos de arreglos SAN  Se necesitan dos o más discos  No hay espacio en el disco perdido debido a la creación de bandas  El rendimiento es más rápido al leer y escribir  No ofrece ninguna protección de datos  Cuantos más discos, más riesgo RAID 0 - Striping
    • Fundamentos de arreglos SAN  Sólo dos discos  Velocidad de escritura de un disco  Velocidad de lectura de dos discos  La capacidad es igual al tamaño de un disco RAID 1 - Mirroring
    • Fundamentos de arreglos SAN  Requiere 4 o más unidades  Es un espejo de 2 Raid 0 Stripes  Puede perder dos unidades y todavía funcionar  Sólo la mitad del espacio disponible  No es lo mismo que RAID 10 RAID 0 + 1 – Dos Mirroring RAID 0 Stripes
    • Fundamentos de arreglos SAN  Mejor rendimiento de lectura y escritura  Requiere 4 o más unidades  Es un juego de espejos striped  Puede perder n/2 unidades en donde es el número total de unidades en el arreglo  Sólo la mitad de la capacidad disponible RAID 10 – Dos RAID 1 Striping Mirrors
    • Fundamentos de arreglos SAN  Considerado el mejor arreglo  Requiere 3 o más unidades  Stripe en todas las unidades con paridad  Puede perder 1 unidad y seguir funcionando  La capacidad es n-1 donde n es el número de unidades en el arreglo RAID 5 – Striping con paridad
    • Fundamentos de arreglos SAN  Doble protección RAID 5  4 o más discos  Es un Stripe con dos unidades de paridad  Puede perder dos unidades y seguir funcionando  La capacidad es n-2, donde n es el número de unidades en el arreglo RAID 6 – RAID 5 con esteroides
    • Fundamentos de arreglos SAN  RAID 0 = Fallo del disco = Perdida de dato  Más disco más riesgo  RAID 1 = Dos veces la seguridad  RAID 5 = Fiabilidad a pequeña escala  Más disco = Mayor riesgo  RAID 6 = Fiabilidad a gran escala  Más GB = Más riesgo  RAID 10 = Fiabilidad en cualquier escala  Susceptible a fallos de disco correlacionados  Es complicado calcular las tasas de fracaso  La regla de oro, más de 8 unidades en un RAID 5 podrían ser desastrosas  Velocidad de lectura no aplicable en las grandes unidades de 1 TB son un peligro real  Los discos del mismo lote sufren la misma suerte (Fallos Correlacionados)  Aplique en páginas corruptas en versión 2000 y haga CheckSum para versión 2005/2008  Restaurar copias de seguridad con regularidad. Atención: Esto un Plan de Recuperación NO ES un Plan de Copia de Seguridad... Confiabilidad RAID
    • Fundamentos de arreglos SAN  RAID 10  1 IOPs Lectura - 2 IOPs Escritura  RAID 5  1 IOPs Lectura - 4 IOPs Escritura  Ambos objetivos, tanto Stripe así como el de Paridad Stripe deben ser leído y la paridad calculada serán escrita en ambas  Advertencia de lectura puede ser tan rápido como n-1 disco  RAID 6  1 IOPs Lectura - 6 IOPs Escritura  Ambos objetivos, tanto Stripe así como las dos Paridades Stripes deben ser leído y la paridad calculada deberán escribirse en las tres  Advertencia de lectura puede ser tan rápido como n-2 discos Capacidad o Performance
    • Fundamentos de arreglos SAN  SQL Server Data Files  Pagina de 8k  Extensible a 64k  256k lectura por delante  El tamaño del cluster RAID debe establecerse en 64k o 256k  Iniciar el tamaño del cluster en 64k  Mover el tamaño del cluster a 256k para un mejor rendimiento secuencial  Conocer el I/O del escenario  Por lo general, 256k encaja en el 99% de nuestras necesidades Configurando y estableciendo el nivel de RAID
    • Fundamentos de arreglos SAN  Tipos de I/O separados!!!  Los archivos de datos tienden a Leer - Escribir aleatoriamente  Los archivos del Registro de Transacciones tienen 0 aleatorio al Leer - Escribir  Más de un Log en una unidad = Aleterioridad Lecturas - Escritura  Mejor aplicar el Log con datos AUNQUE...  LUN's separado sin disco compartido  RAID 1 o 10 para el Registro de Transacciones  Exige una carga fuerte de ejecución  RAID 5, 6 o 10 para Datos  Si son mas del 10% de ejecución de escritura en disco, debería empozar a buscar un RAID 10  Entendiendo las escrituras incurriendo en las lecturas!!! Configurando y estableciendo el nivel de RAID
    • Fundamentos de arreglos SAN  Sectores del disco físico 512 bytes, 4,096 bytes  No se puede restaurar o adjuntar una base de datos de un tamaño más grande del sector en un disco de tamaño de sector más pequeño. 4096 puede continuar en un 512 pero no 512 a 4096  Esté al tanto de un posible mayor rendimiento al configurar arreglos RAID  Tamaño de Stripe y tamaño del requerimiento de I/O determinan el rendimiento del escenario  Pequeños Stripe + Grandes requerimientos de I/O = Dividir el I/O en subprocesos mas eficientes  No se suman, :-(.  10 unidades de 80MB/seg = 800MB/seg  La regla de oro es 15MB/seg por unidad Tamaño de Stripe, de Bloques y Modelo de I/O
    • Conceptos básicos de almacenamiento de estado solido  Sin partes móviles, I/O medidos en microsegundos.  Por lo tanto, al azar el I/O es 200 x o mejor que el disco duro  Por lo general, se lee más rápido que cuando escribe  Cuando a mucho, de 4 a 1 depende del fabricante  Uso diferente que un HDD  Puede perder capacidad con el tiempo  Puede ralentizar su entorno debido a la nivelación de desgaste  Varias capas de corrección de errores  Costoso  SAS 15k drive $2.00/GB  SSD $8.00/GB  No tiene que ser una condición para establecer un disco duro!!! Discos de Estado Solido
    • Conceptos básicos de almacenamiento de estado solido  Entender lo que está comprando y por qué.  ¿Estás comprando desempeño de lectura secuencial?  ¿Estás comprando desempeño de lectura aleatoria?  ¿Están comprando ejecución de rendimiento aleatorio?  ¿Estás comprando fiabilidad? Estado Solido vs. Estado Solido Unidad GB Escritura MB/Seg Lectura MB/Seg Escritura /Seg Lectura /Seg Seek WL/D $ $/GB $/Lectura $/Escritura IoDrive Dou 640 1GB 1.4GB 127K 181K 80μs 5TB $15k $25.39 $0.11 $0.08 X25-M 160 70MB 250MB 35K 3.3K 85μs 100GB $750 $4.60 $0.02 #0.02 Imp. -4x -5x -5x -4x -55x - -10x -20x -5x -5x 3x
    • Conceptos básicos de almacenamiento de estado solido  Redes de área de almacenamiento / Almacenamiento IP  Esencialmente un sistema informático especializado  Red especializada mediante Fibre Channel  O Ethernet mediante iSCSI  Ideal para redundancia o agrupamiento  Se centró en la consolidación del almacenamiento de información no velocidad  NAS no es un SAN! Red de área de almacenamiento
    • Conceptos básicos de almacenamiento de estado solido  Configuración interna del disco  Los discos se dividen en slicers  Los sectores se agrupan en números de unidad lógica (LUN's)  Se presentan como los volúmenes de su host  Tamaño para cargas de IO no de espacio en disco.  No comparta sus discos con otras aplicaciones como Exchange  Usted y su administrador de Exchange les aseguro que estarán muy tristes  Esté atento a esos lugares nada gratos Red de área de almacenamiento
    • SQL Server y el Sistema de Archivos  Escrituras en registro de transacciones  Secuencial 512 bytes a 64KB  Archivo de datos de Lectura/Escritura  8KB  Lectura adelantada, muy importante en la versión Enterprise Edition  8 KB para 125KB  Bulk Insert  8 KB para 128KB  Crear base de datos  512 byte - Inicialización completa solamente en el registro de transacciones  Copia de seguridad de Lectura/Escritura secuencial  1 MB  Restauración secuencial de Lectura/Escritura  64K  DBCC CHECKDB  Lectura secuencial 8K-64K  DBCC DBREINDEX  Leer fase secuencial (Ver Lectura adelantada)  Escribir fase secuencial  Cualquier múltiplo de 8K hasta 128K  DBCC SHOWCONTIG  Lectura secuencial 8K-64K
    • SQL Server y el Sistema de Archivos http://technet.Microsoft.com/en-us/library/cc966500.aspx ACID y WAL  ACID (Atomicidad, Coherencia, Aislamiento y Durabilidad) es lo que hace a nuestra base de datos confiable  WAL (Write-Ahead Logging) es cómo se logra el ACID. Básicamente, el registro debe ser tratado en el disco antes de que se modifique el archivo de datos Los canales estable  Medios estable no es sólo la unidad de disco. Un controlador con una memoria caché con respaldo de batería también se considera estable FUA (Forced Unit Access - Unidad de Acceso Forzado)  FILE_FLAG_WRITETHROUGH le indica el sistema operativo subyacente que no utilice el almacenamiento en caché de escritura ya que no se considera un canal estable  FILE_FLAG_NO_BUFFERING le indica el sistema operativo no utilizar la caché del sistema con el archivo de datos a tratar Acceso a archivos  SQL Server utiliza acceso asincrónico para archivos de registro y datos.  SQL Server intentará y garantizará escribir en el archivo de datos dentro de bloques más grandes  El registro de transacciones siempre se escribe en forma secuencial. Todas estas reglas son aplicadas en los escenarios expuestos con la salvedad del "TempDB". Puesto que TempDB es recreado cada vez que se reinicia el servidor conllevando con esto que cada vez que el tiempo de recuperación no es un problema.
    • SQL Server y el Sistema de Archivos Formato de las particiones de datos a 64k de tamaño en clúster para el rendimiento. SQL Server lee 64k en bloque si es posible Alineamiento de sectores para evitar dividir el I/O  MBR ocupa los primeros 63 sectores dejando su partición a partir de los 64  Uso diskpar (Windows 2000/2003 pre SP1)  Use diskpart (Windows 2003 SP1 o superior)  Windows 2008 establece salida de 1MB  Atención: Desfragmentación del disco no va a arreglar esto!!!  El formato de partición completa no va a arreglar esto tampoco!!!  Compruebe los servidores en estado de pre compilación ('Build'), Win2k/2003  La app WMIC PARTITION ubica los BlockSize, StartingOffset, Nombre, Índice, etc
    • Probando el nuevo sistema de almacenamiento SQLIO  Pruebas de lecturas o escrituras  No es el mejor para cargas de trabajo mixtas  Encontraras capacidad máxima y mayores problemas Iometer  http://www.iometer.org/  General IO System Tester  Muy flexible  Prueba de cargas de trabajo mixtas  Puede ser difícil de usar
    • Supervisión del sistema de almacenamiento Tiempo de respuesta = Tiempo de Servicio + Tiempo de Espera Disk Queue Length - Longitud de la cola en disco  Más relevante desde hace 10 años a la fecha  Máscara de cache DQ  Focalizado en latencia y en espera sys.dm_io_virtual_file_stats  Te da que tiempo a leer y escribir el I/O  Te da una cantidad superior de datos tanto escritos y leídos a nivel de archivo  Ideal para encontrar zonas álgidas en la SAN sys.dm_os_wait_stats  Te imparte lo que SQL Server está haciendo del lado del I/O  Sólo en un nivel de instancia es aplicado
    • Entendiendo el Sistema de Almacenamiento de Datos y SQL Server Jose Redondo - SQL Server MVP Correos: redondoj@gmail.com | jredondo@solidq.com Twitter: @redondoj Blog: redondoj.wordpress.com