column stored index
TRANSCRIPT
#SQSummit
Column Index
Portillo ahias
@portilloAhias
DPA, SolidQ
MVP en plataforma de datos
Sponsors del SolidQ Summit Panamá
Agenda
• Introducción• Evolución de Sql Server
• Xvelocity
• Columnstore vrs rowstore
• Columnstore• Como Funcionan
• No Clustered
• Clustered
• Demo
2
0
1
6
|
G
o
e
s
H
e
r
e
3 |
The Evolution Of Microsoft Data Platform
Nuestros Querys
Nuestros Querys con Columnstore indexes
3rdWaveEnd User BI
1stWaveTechnical BI
Sql Server xVelocity
xVelocity es la apuesta de Microsoft para elalmacenamiento y procesamiento de datos enmemoria.
• In-Memory OLTP
• Columnstore Index
Columnstore vrs Rowstore
Columnstore Rowstore
Los datos son agrupados y
almacenado en columnas
Los datos son agrupados y
almacenados en filas
La lectura se realiza en base a las
columnas que se necesita
La lectura se realiza por cada fila
del resultado
Compresión nativa Compresión manual
Procesamiento por Batch Procesamiento I/O
No llaves Llaves limitadas a 16 columnas
Particionamiento Particionamiento
ColumnStore Index
Column Store
Power PivotAnalysis Services
SQL Server
Non clusteredIndex
SQL 2012+
ClusteredIndex
SQL 2014+
¿Como funciona Columnstore index?
Nonclustered ColumnStore Index
• Puede combinarse con otros índices
• Puede decidir que columnas estarán dentro del índice
• Solo un índice por tabla
• Almacenamiento redundante
• Sin ordenamiento
• SQL Server 2012+
Nonclustered ColumnStore Index
• No se admite restricciones(unique)
• La tabla indexada es de solo lectura(2012,2014)
Clustered ColumnStore Index
• Almacenamiento físico columnar
• No hay redundancia de almacenamiento
• Todas las columnas incluidas automáticamente
• No se permiten mas índices
• Actualización
• Es compactible con mas tipos de datos
• Cambio entre procesamiento ROW-mode and BATCH-mode permitido
• SQL Server 2014+
• Table consists of column store and row store
• DML (update, delete, insert) operations leverage delta store
• INSERT Values• Always lands into delta store
• DELETE• Logical operation
• Data physically remove after REBUILD operation is performed.
• UPDATE• DELETE followed by INSERT.
• BULK INSERT• if batch < 100k, inserts go into delta store,
otherwise columnstore
• SELECT • Unifies data from Column and Row stores -
internal UNION operation.
• “Tuple mover” converts data into columnar format once segment is full (1M of rows)
Actualización de Columnstore Index
Restricciones de Clustered ColumnStore Index
• No Constraints (unique, primary, foreign key)
• No Triggers
• No todos los tipos de datos soportado
• No ISOLATION LEVEL SNAPSHOT
• Enterprise Edition
Como crear un índice columnstore
Como crear un índice columnstore(2016)
Como crear un índice columnstore(2016)
Demo
Columnstore Index FeatureSQL Server
2012
SQL Server
2014
SQL Server
2016 (CTP2)
Azure SQL
Database
Batch execution for multi-threaded queries yes yes yes yes
Batch execution for single-threaded queries yes yes
Archival compression option. yes yes yes
Snapshot isolation and read-committed snapshot isolation yes yes
Specify columnstore index when creating a table. yes yes
AlwaysOn supports columnstore indexes. yes yes yes yes
AlwaysOn readable secondary supports read-only columnstore indexes. yes yes yes yes
AlwaysOn readable secondary supports updateable columnstore
indexes.
yes
Read-only nonclustered columnstore index on heap or btree. yes yes yes1
yes1
Updateable nonclustered columnstore index on heap or btree yes yes
Additional btree indexes allowed on a heap or btree that has a columnstore
index.
yes yes yes yes
Updateable clustered columnstore index. yes yes yes
Btree index on a clustered columnstore index. yes yes
Columnstore index on a memory-optimized
table.
Yes!
Nonclustered columnstore index definition supports using a filtered
condition.
yes yes
Sql Server 2016 Columnstore index
Preguntas????
También puedes preguntar tus
dudas con el hashtag
#SQSummit en Twitter
ADAPTIVE BI FRAMEWORK
Te ayudaremos a mejorar la velocidad de desarrollo de tu plataforma de analítica de negocio basada en nuestra experiencia:
•Diseña antes de construir
•Automatización de procesos por ETL
•Servicios de mentoring para ayudarte a conseguir mejores prácticas para la construcción de procesos específicos y plataformas de analítica de negocio
•Muy fácil de mantener
SOLIDQ FLEX SERVICES
Con SolidQ Flex Services evitarás sustos, consiguiendo que tus sistemas sean estables. Desde una solución sencilla de monitorización, hasta un servicio de atención de incidencias 24/7, mantenimiento proactivo, resolución de problemas y línea de soporte.
Todo con un coste fijo mensual… y tú dedica el tiempo a las cosas importantes.
¡Gracias!