2. Very Large Tables (VLT)
• Gran cantidad de datos
• Millones/Billones de filas
• Datos estructurados
• OLTP(Procesamiento de Transacciones En Línea)
• Aplicaciones de misión crítica
• Sistemas con elevado número de TPS
• Sistemas con tracking/Logging
• DataWarehouse
• Repositorio histórico de procesos de negocio
• Procesos de carga perdiódicos
3. Desafíos de las VLT (Very Large
Tables)
Transaccional
Reportes
Índices
Estadísticas
Historificación
RendimientoMantenimiento
4. Desafíos: Mantenimiento de
Índices
• Imprescindible para evitar fragmentación
• Sobrecarga E/S
• Full Scan de las tablas
• Escritura intensiva en Log
• CPU
• Bloqueos
• Soluciones actuales:
• Reorganización vs. Rebuild
• Particionado de datos
5. Desafíos: Mantenimiento de
Índices (II)
• Rebuild Online a nivel de partición
• Lock Priority
• Prioridad del proceso
• MAX_DURATION
• ABORT_AFTER_WAIT
• Reducimos Bloqueos
• Mayor control de Bloqueos
6. Desafíos: Mantenimiento de
Estadísticas
• Ayudan al optimizador -> Planes de ejecución
• Histogramas
• Aconsejable FULLSCAN
• Requieren de E/S
• Impactan en performance
• Soluciones actuales:
• Actualizar estadísticas con muestreos de datos
• Estrategia de actualizaciones
• Varias ventanas de mantenimiento
8. Desafíos: Rendimiento consultas
Soluciones actuales
• Índices de cobertura
• Compresión
• Particionado de datos
• Código T-SQL Eficiente
OLTP
Insert/Delete/Update
Select by Key (1 row)
24 x 7 x 365
DataWarehouse
Consultas de negocio
Group By / MAX(),
MIN()…
Cargas periódicas
Híbridos
Cargas de trabajo mixtas
Impacto en rendimiento
9. Desafíos: Rendimiento consultas
Con SQL Server
• Índices columnares
• Mejoras desde 2012
• Clustered Columnstore Indexes
• Read-Write
• Particionado de datos
• Nuevo tipo de compresión de datos
10. Desafíos: Historificación de datos
• Movimiento de datos “no activos”
• Almacenamiento de alto rendimiento
• limitado y caro
• Posibles soluciones actuales
• Particionado + Compresión
• Particionado + Compresión + Tabla Hist
• Particionado + compresión + BBDD hist
• Particionado + compresión + Servidor hist
• Otras….
11. Particionado + Compresión
<=M-6 M-5 M-2M-3M-4 >= MM-1
Particiones comprimidas (PAGE)
Datos “no activos”
Filegroup Readonly
Almacenamiento bajo rendimiento
Particiones sin compresión
Datos “activos”
Primary Filegroup
Almacenamiento Alto rendimiento
dbo.Ventas
12. Particionado + Compresión + Tabla
Hist
M-2 >= MM-1
dbo.Ventas
<=M-6 M-5 M-3M-4
dbo.Hist_Ventas
Particiones comprimidas (PAGE)
Datos “no activos”
Filegroup Readonly
Almacenamiento bajo rendimiento
Particiones sin compresión
Datos “activos”
Primary Filegroup
Almacenamiento Alto rendimiento
Switch IN/OUT
14. Particionado + Compresión +
Columnar
M-2 >= MM-1
dbo.Ventas
STG
dbo.Stg_Ventas
Particiones comprimidas
Columnstore vs. Columnstore_Archive
Datos “no activos”
Almacenamiento alto rendimiento
Particiones sin compresión
Datos “activos”
Primary Filegroup
Almacenamiento Alto rendimiento
Step1
Switch OUT
<=M-6 M-5 M-3M-4
Step2
Switch IN
Notas del editor
Las very Large Tables son, como su nombre indica, tablas muy grande… tablas que contienen del orden de Millones o incluso billones de filas.
El origen o la generación d eestas tablas en el mundo de los datos estructurados (el mundo relacional), suele venir por dos vias:
Bien por aplicaciones de negocio con una carga transaccional muy alta, normalmente aplicaciones d emission crítica que se ejecutan 24x7x365
O bien por diseño, como es el caso del datawarehouse que esta diseñado para almacenar información histórica de uno o varios procesos de negocio.
Estas Very Large tables suelen generar problemas y presentan desafios a los DBAs, que tenemos qu eingeniarnoslas y adaptarnos a las limitaciones que tenemos de Hardware.
Los principals desafios se pueden claisificar en términos de rendimiento y Mantenimiento… en cuanto a rendimiento distinguiriamos entre rendimiento Transaccional o de Reporting, dependiendo de la carga de trabaja del Sistema en el que trabaje
Y en cuanto a mantenimiento pues un poco lo de siempre… mantenimiento de índices, estadísticas y la historificación de datos.
Vamos a empezar hablando del mantenimiento de índices. El mantenimiento de índices y el de estadísticas es muy importante para los DBAs, creo que esto es algo que ya sabemos
Ahora con SQL Server ya podemos reconstruir índices a nivel de partición con la Opción ONLINE, que como ya sabéis reduce los bloqueos y además al ser en una única partición reduce el tiempo.
Adicionalmente también se han añadido opciones para asignar prioridades a las operaciones Online, como reconstrucción de índices o switch de particiones, en caso de que hayan transacciones que bloqueen estas operaciones. Or lo que tenemos mas capacidad para decidir como actuar en cada momento.