Este documento resume varios estudios de caso de grandes implementaciones de almacenes de datos con SQL Server. Incluye detalles sobre cómo Microsoft AdCenter maneja cubos de hasta 3,2 TB, cómo Xbox Live usa SSD para mejorar el rendimiento y particiona datos para procesamiento paralelo, y cómo Yahoo! maneja un cubo de 12 TB con particionamiento y almacenamiento en archivos.
Introducción a conceptos de SQL Server Secure Enclaves
SQL Server bodegas de datos con casos
1. CASOS DE BODEGAS
DE DATOS CON SQL
SERVER
Dr. Eduardo Castro, MSc
ecastro@simsasys.com
http://ecastrom.blogspot.com
http://comunidadwindows.org
http://tiny.cc / comwindows
Facebook: ecastrom
Twitter: edocastro
2. Derechos de autor
• Este presentación se basa en las siguientes fuentes
• Prácticas reales: la escala del rendimiento MICROSOFT SQL Server 2008 Analysis
SERVICIOS EN MICROSOFT ADCENTER
• DBI407 Mejor Prácticas para la construcción 1 empresas soluciones de inteligencia
empresarial de nivel con el análisis de Microsoft SQL Server Servicios, Adán
Jorgensen
• El diseño escalable y complejo Cubos servicio de análisis, Denny Lee, Thomas Kejser
• http://msdn.microsoft.com/en-us/library/dd758814 (v = SQL.100).aspx
• http://technet.microsoft.com/en-us/library/cc966414.aspx
3. Gestión Multi concurrencia usuario
• El escalado horizontal
• Sincronización
• De sólo lectura de DB
• Instantáneas SAN y conos
FE Heavy (80
cc users)
238.5
63487
5
300
250
150.3
14839
4
200
150
101.9
16998
1
SE Heavy
• Ingeniería de Sistemas
100
120
• Heap / Memoria Virtual
50
100
0
One
Two Three Four
102.02
23114
50 88.177
996
CC
U…
80
60
28.354
25.125
25396
48352
40
20
0
One Two Three Four
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
4. El aumento Requisitos de hardware
• El uso de SSD
• Tamaño de bloque
• ROLAP
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
5. Resumido de E / S Actividad de niveles
de RAID y su uso recomendado
Niveles de RAID
Confiabilidad
RAID0
Más bajo.
La falta de resultados de
tolerancia a fallos en la
pérdida de datos.
Eficiencia del almacenamiento 100%
Leer Random
Excelente
Escritura aleatoria
Excelente.
RAID1
RAID5
RAID 10
Muy bueno.
Aún mejor, con impresión a
doble cara.
Bueno.
Puede tolerar fallos sola
máquina.
Excelente.
50%
> 50%, <100%
(Unidades -1 # / # unidades)
50%
Excelente.
Excelente.
Feria
Lo peor de los niveles RAID,
pero mejor que una sola
unidad.
Feria.
Peor que un solo disco pero
mejor que algunos niveles de
RAID.
Feria.
En general mejor con tamaños Muy bueno.
mayores de stripe.
Muy bueno.
En general, mejor con
tamaños más pequeños de la
raya
Excelente.
Feria.
Muy bueno.
Lectura secuencial
Excelente.
Feria.
Comparable a una sola
unidad.
Escritura secuencial
Excelente.
Bueno.
Mejor que otros niveles de
RAID.
Más bajo.
Moderada.
Relativamente alto costo
debido a las unidades
Moderada.
redundantes, sin embargo, no
requiere controlador caro
Costo
Bueno para datos no críticos o
datos inactivamente
actualizados que obtiene una
copia de seguridad con
Se recomienda su uso
regularidad o los datos que
requiere el desempeño de
escritura rápida a muy bajo
http://technet.microsoft.com/en-us/library/cc966414.aspx
Bueno para los datos que
requiere la alta tolerancia a
fallos a un costo relativamente
bajo de hardware
Muy bueno para leer sólo los
(redundancia utilizando la
datos.
paridad requiere hardware
más caro). Lo mejor para los
High.
Los datos que requieren un
alto rendimiento para leer y
escribir, y una excelente
fiabilidad mientras que el
comercio de la eficiencia del
almacenamiento y el costo.
6. La partición para DW
1 Partition per Day
31 Partitions, 1 Month of Data
Facts Database
Current Day Partition
ALTER PARTITION FUNCTION PerDay ()
SPLIT RANGE(CAST(CONVERT(varchar, GETDATE()+1, 112) AS int))
0
1
2
3
4
5
6
7
8
9
10 11
12 13 14 15 16 17 18 19 20 21 22 23
8 Parallel Partition
Processing Jobs
Cube
Current Day Partition Set
...
WHERE [date] = CAST(CONVERT(varchar, GETDATE(), 112) AS int)
AND [hour] IN (0, 11, 17)
0
11
17
1
14
18
2
5
22
3
12
21
4
13
19
6
15
23
7
9
20
8
10
16
8 Evenly Distributed Partitions per Day
3120 Partitions, 13 Months of Data
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
7. Concurrencia consulta multiusuario
• Escalar Analysis Services: Sólo Lectura
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
8. Tiempo implicaciones reales
• Las técnicas para Tiempo real
• Almacenamiento en caché automático
• ROLAP
• Procesamiento Incremental MOLAP/ROLAP
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
9. Estrategias probadas - Estudios de casos
• Lo más destacado de SQLCAT (Ejemplos de grandes
instalaciones)
• AdCenter
• Xbox Live
• Yahoo!
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
11. ESTUDIO DE CASO ADCENTER
Cómo funciona AdCenter manejar dos Cubos
de 3,2 TB?
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
12. Microsoft AdCenter
• Como una plataforma de Internet para campañas de
publicidad en línea en Microsoft ® Bing ™, Microsoft
adCenter ofrece a los clientes una amplia gama de
herramientas de análisis para apuntar, alcanzar y atraer a
la audiencia correcta con el anuncio correcto en el
momento adecuado y de la inteligencia.
• Entorno complejo y multifacético procesamiento analítico
en línea (OLAP) basado en SQL Server ® 2008 Analysis
Services impulsa el adCenter soluciones de inteligencia.
13. Legado escalable
• Este entorno a gran escala incluye numerosos mercados de datos
que consolidan la información de diversas fuentes a través Server
2008 Integration Services de SQL.
• adCenter mercados de datos, basados en SQL Server 2008
Enterprise Edition, mantienen hasta dos terabytes de datos en bases
de datos relacionales, lo que equivale a un mes de las actividades
Web a una tasa de acumulación actual de aproximadamente 60 a 70
gigabytes por día.
• La Cubos OLAP construida encima de estas tiendas relacionales
contienen 13 meses de datos y son hasta tres terabytes de tamaño.
14. Situación
• Con volúmenes de datos superiores a dos terabytes por mes y un
número creciente de usuarios de data mart,
• adCenter problemas de rendimiento experimentados con su
infraestructura existente de Analysis Services de SQL Server 2005.
• Con 500 usuarios por cada cubo, adCenter comenzó a notar
problemas de rendimiento, desafiando a una base de usuarios en
constante crecimiento
• Pregunta capacidad de respuesta y el rendimiento no cumplían SLAs
durante el uso máximo.
• Lo resultado difícil aumentar la escalabilidad más allá de los niveles
establecidos.
15. Objetivo
• Mejorar la escalabilidad de usuario mediante el
mantenimiento actual del cubo de consulta, mientras que
la respuesta SLAs apoyo hasta 4 veces el número de
preguntas del mismo patrón.
• Aumentar el tiempo de actividad de manera significativa.
• Eliminar impacto negativo rendimiento de las consultas a
los usuarios finales durante el procesamiento diario del
cubo. Aparte no se debe afectar al rendimiento de las
consultas del usuario durante la carga / procesamiento
del cubo.
16. Infraestructura
• Sistema de base de datos compartida escalable utiliza un
servidor de procesamiento y tres servidores de
presentación de informes.
• Cada servidor es un servidor HP BL460 con 32 GB de
memoria RAM instalada, funcionamiento ocho
procesadores
17. Estudio de caso - AdCenter
• EMC DMX V-Max para manejar la E / S
• V-Max son dedicados a la aplicación
• Cientos de discos y ejes dedicados a este proceso
• Discos para asegurarse rápido de E / S
• Trabaja en estrecha colaboración con EMC directamente
(presente en el EMC World regularmente)
• Pruebas con EMC EFDs (Enterprise Flash Drives)
• Equipo de Ingeniería de Sistemas dedicado al proceso de DW
• Trabajar en estrecha colaboración con varios proveedores (EMC,
HDS, etc)
• Referencias
• Acelerar Microsoft adCenter con Microsoft SQL Server 2008 Analysis
Services.
• PRÁCTICAS REALES: prestaciones de escalado de Microsoft adCenter con
Microsoft SQL Server 2008 Analysis Services de EMC VMAX
18. Cubo adCenter
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
19. EMC Symmetrix VMAX
• Cada servidor está conectado a una EMC Symmetrix
VMAX a través de bus con doble adaptadores
• El servidor utiliza un volumen de 3 TB organizado en 80
400 GB 10000 rpm Fibra Discos de canal en una
configuración duplicada y rayas (RAID 1 + 0).
• Cada 24 horas el volumen replica los cambios en un
volumen de informes 3 TB hecho por nueve EFDs 400 GB
configurado en una configuración de paridad distribuida
(RAID 5)
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
20. Diseño del cubo
• Múltiples data marts alimentan el procesamiento OLAP y
•
•
•
•
presentación de informes sistema.
Análisis Services proporciona servicios de indicador clave
de rendimiento (KPI)
La carga de datos se basa en SQL Server Integration
Services (SSIS)
Cada hora, las cargas de paquetes SSIS cargan hechos
en una base de datos relacional de producción.
Paquetes SSIS Independiente carga datos de otras
fuentes
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
21. Carga de datos diaria
• Cada trimestre una operación de ProcessUpdate se utiliza
para actualizar dimensión datos
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
22. Consulta de datos
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
24. Administración
• La actualización de datos del cubo multidimensional del
servidor de procesamiento soporta las tareas de carga de
datos (carga de datos de los datos relacionales) y el
procesamiento del cubo
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
25. Actualización diaria de datos
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
26. Montaje diario por medio de clonar cubos
PRÁCTICAS REALES: prestaciones de escalado de Microsoft SQL Server 2008 Analysis Services de AT MICROSOFT ADCENTER
27. Centro de Producción adCenter
adCenter Production Environment
OLAP Standby Server
OLAP Processing Server
Windows Server 2003 x64 SP2
SQL Server Analysis Services
64GB RAM, 8 Xeon procs (16 cores)
HBA A
HBA A
HBA B
HBA B
Staging Data Warehouse
Windows Server 2003 x64 SP2
SQL Server Analysis Services
64GB RAM, 8 Xeon procs (16 cores)
Windows Server 2003 x64 SP2
SQL Server Enterprise Edition
32 GB RAM, 8 Xeon procs (16 cores)
HBA AA
HBA
HBA BB
HBA
HBA AA
HBA
Data Feeds
Windows Server 2003 x64 SP2
SQL Server Integration Services
Network Load Balancing
HBA BB
HBA
Host Bus Adapters: 400 MB/sec each
SAN
Fabric B
SAN
Fabric A
Standby OLAP LUN
RAID 1
19200 Max Reads
9600 Max Writes
180 300GB 10K Drives
Storage Area Network
OLAP LUN
RAID 1
DW LUN
19200 Max Reads
9600 Max Writes
180 300GB 10K Drives
RAID 1
2560 Max Reads
2560 Max Writes
32 300GB 10K Drives
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
28. ESTUDIO DE CASO: E & D
Xbox Live el uso del servicioDatos, de
compra, y los logros
29. Estrategia de Particiones
• Uniformemente distribuida, continuo y no se solapan
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
30. Xbox Live - SSD Performance
3000
Run Tme (seconds)
2500
2000
1500
1000
500
0
Day
Week
Month
Quarter
7 months
Dev SSD
14
29
101
203
506
Dev HDD
14
29
104
610
1191
UAT SAN
9
73
445
1025
2800
V2 Cube, SSD
5
10
15
31
72
V2 Cube, HDD
5
7
30
244
540
Amount of Data
DBI407 Mejores prácticas parade construcción 1 empresascomplejas,de inteligencia Thomas Kejser
Diseñar los cubos servicio la análisis escalables y soluciones Denny Lee, empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
31. Concurrencia de consulta
• Usando SSD para que cada servidor para manejar más
consultas simultáneas
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
33. Yahoo - Datos Masivos de Escala Intense
Oracle 10g
CDF
Archivo1
SSAS Cube Constructor
Partición 1
Partición 1
Partición 2
Partición 2
Partición N
Partición N
1.2TB/day
Archivo2
Filen
12 TB
cubo
NAS
50 GB /hr
Servidores de consultas SSAS
HW NLB
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
35. Bloqueo en Analysis Services
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
36. Cierre
• SWITCH / MERGE debe tomar bloqueo SCH-M (pero se mantuvo sólo unos
pocos ms)
• Provocar el bloqueo de las colas
• Si aumenta volumen en la tabla de particiones - puede causar una
operaciones de ordenamiento (use lotes pequeños)
• Solución: partición de tiempo real en una tabla separada. Mantener datos
obsoletos en particionado distinto
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
37. MOLAP conmutación En Acción
• Idea básica:
• Utilizar MOLAP para los datos históricos
• Proceso últimas particiones MOLAP menudo
• Latencias típicas en minutos
• Preocupaciones:
• Cómo al cubo de partición para una rápida y MOLAP frecuentes
tratamiento
• Manejo el bloqueo del proceso cuando necesite actualizar los
datos
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
38. Cube Particiones
• Particiones tanto por el tiempo y región
• Procesamiento completo se puede hacer en Particiones
"activos"
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
39. Cube Flipping
• Recall: Bloqueo nivel de servidor necesaria para proceso
• Solución alternativa:
• Dos copias del cubo, por turnos
• “Intercambiar"entre ellos
• Dos maneras de mover
• Utilice ASLB de CodePlex
• Excel Plug-in
40. + MOLAP ROLAP en Acción
• Utilice MOLAP con fines históricos / datos antiguos
• Utilizar ROLAP para los datos actualizados con
frecuencia
Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
41. Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
42. Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
43. Diseñar los cubos servicio de análisis escalables y complejas, Denny Lee, Thomas Kejser
44. Resumiendo
• Usted tiene que conseguir el diseño correcto si desea escalar
• El particionamiento es absolutamente fundamental
•
•
•
•
Partición de velocidad de procesamiento
Partición de latencia de los datos (en tiempo real frente a rancio)
Partición de archivos de datos antiguos
Preocupación secundaria para arriba: partición de velocidad de las
consultas
• Hardware realmente importa para grandes cubos
•
•
•
Dispositivos NAND.
Las pruebas muestran dos CPU core con frecuencia puede soportar
cientos de usuarios
Con cuidado equilibrio IOPS frente memoria, considere parte caliente
del cubo
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
45. Resumiendo
• Bloqueo es su enemigo
•
Considere servidor de procesamiento con sincronización vs
procesamiento servidores Individual
•
Considerar cómo voltear
•
Para baja latencia, ROLAP
• Configuración de usuario
•
Considere la posibilidad de ajustar
•
Keep it Simple
DBI407 Mejores prácticas para la construcción 1 empresas soluciones de inteligencia empresarial de nivel con Microsoft SQL Server Analysis Services, Adam Jorgensen
46. DATAWAREHOUSE
ESTUDIO DE CASO
Dr. Eduardo Castro, MSc
ecastro@simsasys.com
http://ecastrom.blogspot.com
http://comunidadwindows.org
http://tiny.cc / comwindows
Facebook: ecastrom
Twitter: edocastro