las mejores practicas de los indices columnstore
TRANSCRIPT
Las mejores practicas de IndicesColumnstore
28 Enero 2015 (12 pm GMT -5)
Warner Chaves
Resumen:Los índices Columnstore fueron introducidos en SQL Server 2012
y completamente cambian la manera en que podemos
almacenar y procesar los datos optimizando en formato
columnar. Con SQL 2014 y Azure SQL expandiendo el uso de
estos índices, es importante tener presente las mejores practicas
que permiten sacar el máximo provecho a esta tecnología y los
beneficios que ofrece. En esta sesión haremos una rápida
introducción a los índices columnstore e inmediatamente
pasaremos a varios demos de como cargar datos, modificar el
índice y escribir consultas para obtener el mejor rendimiento
posible de esta tecnología.
Próximos Eventos
Introdución a SSIS
11 de Febrero
Carlos A Ulate
Visualizacion de dato en Cubos de
informacion usando Sharepoint 2013 -
PerformancePoint y Power View
18 de Febrero
Juan Alvarado
Consolidando y Transformando
mi data con Power Query
4 de Febrero
José L Rivera
Está por comenzar:
Manténgase conectado a nosotros!
Visítenos en http://globalspanish.sqlpass.org
/SpanishPASSVC
lnkd.in/dtYBzev
/user/SpanishPASSVC
/SpanishPASSVC
4
Oportunidades de Voluntariado
PASS no pudiera existir sin personas apasionadas y
dedicadas de todas partes del mundo que dan de su
tiempo como voluntaries.
Se un voluntario ahora!!
Para identificar oportunidades locales visita
volunteer.sqlpass.org
Recuerda actualizar tu perfil en las secciones de
“MyVolunteering” y MyPASS para mas detalles.
Sigan Participando!
• Obten tu membresia gratuita en sqlpass.org
• Linked In: http://www.sqlpass.org/linkedin
• Facebook: http://www.sqlpass.org/facebook
• Twitter: @SQLPASS
• PASS: http://www.sqlpass.org
Las mejores practicas de IndicesColumnstore
28 de Enero de 2015
Warner Chaves
SQL Server MCM
SQLTurbo.com
Bio
• 9 años de Experiencia como DBA del SQL Server.
• Sql Server MCM.
• Experiencia previa como DBA Nivel 3 de HP en Costa Rica, ahora
trabajo para Pythian como Consultor Principal en Ottawa, Ontario.
• Twitter: @warchav
• Email: [email protected]
• Blog: SQLTurbo.com
7
Agenda
Objetivo: demostrar de una manera simple las mejores prácticas
para trabajar con índices Columnstore.
En específico:
• Breve introducción a los índices Columnstore y sus casos de uso.
• Demo: cargar un non-clustered Columnstore de forma óptima.
• Demo: cargar un clustered Columnstore sin caer en la Delta store.
• Demo: borrando datos en el Columnstore.
• Demo: hacer consultas que tomen ventaja del Batch mode.
8
¿Qué es un Columnstore?
• Un nuevo tipo de almacenamiento optimizado para datos
usados en consultas analíticas.
• El almacenamiento no es por registros, es por columnas.
• Optimizado para grandes cargas de datos y consultas de
lectura.
• Estático en SQL 2012, lectura-escritura habilitado en SQL
2014.
• Edición Enterprise requerida.
9
¿Por qué nos interesa?
• Grandes beneficios para tablas en Bodegas de Datos.
• El almacenamiento por columnas produce una compresión muy
alta.
• El Batch mode puede procesar datos en órdenes de magnitud más
rápido.
• Simplifica la administración de tablas muy grandes.
• Las consultas para las cuales está optimizado van a mostrar una
gran diferencia de rendimiento.
10
Estructura de un Columnstore
• Rowgroups: los registros se dividen en unidades llamadas rowgroups, máximo 1048576
registros en un rowgroup.
• Column segment: cada columna tiene un segment dentro del rowgroup. Cada segment se
comprime y almacena.
• Deltastore: una tabla utilizada por los clustered Columnstores como almacenamiento
temporal de nuevos registros. Insertar mínimo 102400 para evitar la Deltastore.
• B-Tree de registros borrados: el clustered Columnstore también mantiene una table con los
IDs de registros borrados.
• Tuple-mover: proceso que revisa si el deltastore tiene rowgroups “cerrados” para comprimir
y moverlos al columnstore.
11
DEMOS!
• Demo: cargar un non-clustered Columnstore de forma
óptima.
• Demo: cargar un clustered Columnstore sin caer en la
Delta store.
• Demo: borrando datos en el Columnstore.
• Demo: hacer consultas que tomen ventaja del Batch
mode.
12
Resumen
• Utilizar en conjunto con partitioning, especialmente
en versión non-clustered.
• Cargar datos en masa, evitar los cambios en
pequeñas cantidades. Delayed Durability es un
plus.
• Verificar que las consultas utilizan Batch mode y
evitar condiciones que eliminan el Batch mode.
13
Resumen
• El tuple-mover es 1 thread, Reorganize es varios.
• Actualizar estadísticas igual que con tablas clásicas.
• Monitorear el tamaño de los segments y la
cantidad de registros borrados. Rebuild si es
necesario.
• Tener varios CPUs disponibles (evitar MAXDOP 1).
14
Preguntas?
15
Consolidando y Transformando mi data con Power Query
4 de Febrero (12 pm GMT -5)
José L Rivera
Resúmen:
Cada vez se hace necesario proveer alternativas de auto-
servicio para usuarios de negocios de manera que
puedan tratar de minimizar el tiempo de respuesta por
parte de IT debido a las altas demandas de estos
usuarios. En esta sesión discutiremos como Power Query
puede ser utilizado como una alternativa de auto-servicio
para consolidación, integración y limpieza de datos.
Próximo Evento