22
#SQSummit Column Index Portillo ahias @portilloAhias [email protected] DPA, SolidQ MVP en plataforma de datos

Column stored index

  • Upload
    solidq

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Column stored index

#SQSummit

Column Index

Portillo ahias

@portilloAhias

[email protected]

DPA, SolidQ

MVP en plataforma de datos

Page 2: Column stored index

Sponsors del SolidQ Summit Panamá

Page 3: Column stored index

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 |

Page 4: Column stored index

The Evolution Of Microsoft Data Platform

Page 5: Column stored index

Nuestros Querys

Page 6: Column stored index

Nuestros Querys con Columnstore indexes

Page 7: Column stored index

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

Page 8: Column stored 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

Page 9: Column stored index

ColumnStore Index

Column Store

Power PivotAnalysis Services

SQL Server

Non clusteredIndex

SQL 2012+

ClusteredIndex

SQL 2014+

Page 10: Column stored index

¿Como funciona Columnstore index?

Page 11: Column stored 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+

Page 12: Column stored index

Nonclustered ColumnStore Index

• No se admite restricciones(unique)

• La tabla indexada es de solo lectura(2012,2014)

Page 13: Column stored index

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+

Page 14: Column stored index

• 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

Page 15: Column stored 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

Page 16: Column stored index

Como crear un índice columnstore

Page 17: Column stored index

Como crear un índice columnstore(2016)

Page 18: Column stored index

Como crear un índice columnstore(2016)

Page 19: Column stored index

Demo

Page 20: Column stored index

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

Page 21: Column stored index

Preguntas????

Page 22: Column stored index

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!