2. Introducción a Column Store Index con
MS SQL Server 2012
José Redondo
MCP, MCST - MS SQL Server 2K5
MTA - Database Administration Fundamentals
Chapter Leader Caracas Chapter
redondoj@gmail.com redondoj.wordpress.com
www.facebook.com/redondoj @redondoj
3. AGENDA
• Conceptos
• Características
• Arquitectura
• Limitaciones y Restricciones
DEMO “Creación de un índice columnar”
• Escenarios de uso (Mejores prácticas)
DEMO “Optimización de una consulta con CSI”
• Resolución de problemas
DEMO “CSI en acción”
• Preguntas y Respuestas
SQL Pass Venezuela - Caracas Chapter @sqlpassve
4. CONCEPTOS
• Se usan para incrementar el tiempo de
procesamiento de las consultas.
• Se ejecutan eficientemente sobre la
sintetización de grandes cantidades de datos.
• Su fundamento son las tablas de datos de
resumen precalculados, vistas indexadas,
cubos OLAP y afines.
SQL Pass Venezuela - Caracas Chapter @sqlpassve
5. CARACTERÍSTICAS
• Datos con formatos de columna.
Registros
Almacenamiento
por Fila …
(Montón o Árbol B)
C1 C2 C3 C4 C5 C6
Páginas
Almacenamiento
por Columna
SQL Pass Venezuela - Caracas Chapter @sqlpassve
13. ARQUITECTURA
• Tipos de datos
• Permitidos
• Char y Varchar
• Nchar y Nvarchar
• Decimal y Numeric
• Int, Bigint, Smallint y Tinyint
• Float y Real
• Bit
• Money y Smallmoney
• Date, Datetime2, Smalldatetime, Datetime, Time y
Datetimeoffset. Este último, exceptuando con escala mayor
que 2.
SQL Pass Venezuela - Caracas Chapter @sqlpassve
14. ARQUITECTURA
• Tipos de datos
• No permitidos
• Binary y Varbinary
• Ntext, Text e Image
• Varchar(MAX) y Nvarchar(MAX)
• Uniqueidentifier
• Rowversion y Timestamp
• SQL_Variant
• Decimal y Numeric con una precisión superior a 18 dígitos
• Datetimeoffset con escala mayor que 2
• Tipos CLR (Hierarchyid y Tipos Espaciales)
• XML
SQL Pass Venezuela - Caracas Chapter @sqlpassve
15. LIMITACIONES Y RESTRICCIONES
• Restricciones básicas.
• No es actualizable.
• Efectos sobre la memoria.
• Comportamiento de ejecución sobre
escenarios dispersos.
• Comandos no aplicables.
• Características no aplicables en su
combinación.
SQL Pass Venezuela - Caracas Chapter @sqlpassve
16. DEMO
“Creación de un índice columnar”
SQL Pass Venezuela - Caracas Chapter @sqlpassve
17. ESCENARIOS DE USO (MEJORES PRÁCTICAS)
• Mecanismos para actualizar índices
columnares.
• Elección de columnas apropiadas para
construir el índice.
• Tablas particionadas.
SQL Pass Venezuela - Caracas Chapter @sqlpassve
18. DEMO
“Optimización de una consulta
con Column Store Index – „CSI‟”
SQL Pass Venezuela - Caracas Chapter @sqlpassve
19. RESOLUCIÓN DE PROBLEMAS
• El índice columnar está presente en el Plan
de Ejecución de la consulta.
• Visualizar el modo de ejecución en forma de
lote y no en forma de fila.
• Manejador de filtros de Mapas de Bits.
SQL Pass Venezuela - Caracas Chapter @sqlpassve
22. REFERENCIAS
• MSDN - Columnstore Indexes
• http://msdn.microsoft.com/en-us/library/gg492088(v=sql.110).aspx
• Microsoft SQL Server Team Blog - Columnstore Indexes: A New
Feature in SQL Server known as Project “Apollo”
• http://blogs.technet.com/b/dataplatforminsider/archive/2011/08/04/colum
nstore-indexes-a-new-feature-in-sql-server-known-as-project-apollo.aspx
• Microsoft TechNet - SQL Server Columnstore Index FAQ
• http://social.technet.microsoft.com/wiki/contents/articles/3540.sql-server-
columnstore-index-faq.aspx
• Microsoft TechNet - SQL Server Columnstore Performance
Tuning
• http://social.technet.microsoft.com/wiki/contents/articles/4995.sql-server-
columnstore-performance-tuning.aspx
SQL Pass Venezuela - Caracas Chapter @sqlpassve