SQL SERVER 2012 – xVelocity ColumnStore Index – Top 10 Questions!

Pessoal, boa noite!

Resolvi dedicar um pouquinho do meu tempo em plena vespera de feriado pra trazer pra galera algumas das questões que eu tenho ouvido com frequência em minhas apresentações  sobre  ColumnStore Index 🙂

Dúvidas frequêntes no momento da criação de um ColumnStore Index:

 1- O que é o  Xvelocity?
Resposta:  xVelocity pertence a familia de tecnologias do SQL Server que trabalha com otimização de memória na metodologia de in-memory.
Essa nova geração de tecnologias foi desenvolvida para trabalhar com extrema performance em hardwares modernos com multiplos cores(nucleos).
Duas tecnologias de exemplo que fazem parte dessa famlia:
xVelocity In-Memory Analytics Engine (usado no PowerPivot e no Analysis Services) e o xVelocity Memory-Optimized Columnstore Index (usado no SQL Server database).

 2- Como eu  posso criar um indice do tipo ColumnStore?
Resposta: Existem duas possibilidades: uma através de T-SQL com a linguagem padrão:
CREATE NONCLUSTERED COLUMNSTORE INDEX mycolumnstoreindex ON mytable (col1, col2, col3) ou seguindo pela interface gráfica conforme eu expliquei no post:
https://liviasarto.wordpress.com/2011/11/14/sql-server-2012-projeto-apollo-parte-v/

3- A ordem em  que eu adiciono as colunas ao novo tipo de índice importa?
Resposta: Não, na verdade o próprio indice tem um algotimo que é responsável por organizar e fazer a compressão dos dados.

  4- Um índice ColumnStore possui uma primary key (PK)?
Resposta
: Não, não ha possibilidade de se criar uma PK com ColumnStore Index.

  5- Qual é  quantidade de colunas que posso adicionar no meu ColumnStore Index?
Resposta: A mesma que é praticada em outros índices, ou seja, 1024. Normalmente vc deve colocar todas as colunas mais se não for necessário vc não precisa colocar, caso na sua tabela tenha alguma coluna com um tipo de dado que não é suportado no ColumnStore Index basta apenas omitir a mesma no momento da criação.

 6- Quais são os tipos de dados suportados no ColumnStore Index:
Resposta: int, big int, small int, tiny int, money, smallmoney, bit, float, real, char(n), varchar(n), nchar(n), nvarchar(n), date, datetime, datetime2, small datetime, time, datetimeoffset with precision <=2, decimal ou numeric with precision <= 18.

7- Agora sim talvez uma das dúvidas mais frequêntes: Quais os tipos de dados que NÃO  suportados?
Resposta: decimal or numeric with precision > 18, datetimeoffset with precision > 2, binary, varbinary, image, text, ntext, varchar(max), nvarchar(max), cursor, hierarchyid, timestamp, uniqueidentifier, sqlvariant, xml.

 8- Quanto tempo leva para fazer a criação do ColumnStore Index?
Resposta
: Fazer a criação de ColumnStore Index na verdade é uma operaçõ paralela, ou seja, depende da quantidade de CPUs disponíveis e da configuração que você definiu para MaxDop. Normalmente na demora 1.5 vezes mais quando comparado com o tempo de criação de outros indices tradicionais.

 9- Quanto de  memória é necessário para a criação de um ColumnStore Index?
Resposta:  Depende da quantidade  de colunas, das caracteristicas dos dados e tb do degree of parallelism (DOP).  O SQL Server vai requisitar a quantidade de memória concedida antes de fazer a criação do indice, se a quantidade de memória for insuficiente o SQL Server vai reduzir o DOP de acordo com a necessidade para fazer a criaçao do indice, caso ainda assim mesmo usando DOP= 1 não for possível então a criação do indice vai falhar.

 Existe uma regra(formula) para estimar o quanto de memória será necessário para a criação do índice:

Memory grant request in MB = [(4.2 *Number of columns in the CS index) + 68]*DOP + (Number of string cols * 34)

10- Posso criar um ColumnStore com filtros?
Resposta
: Não, o ColumnStore Index deve conter todas as linhas da tabela.

Ufaaa quase que não acabo rs, por hj é isso pessoal…

BOM FERIADO PARA TODOS!! HUHU 🙂 🙂 🙂

 Abs,
Lívia

Anúncios

Sobre liviasarto

I really love work with SQL Server. Do you like that too? Come on ... Join me

Publicado em 06/06/2012, em SQL SERVER 2012. Adicione o link aos favoritos. 3 Comentários.

  1. O ColumnStore Index só deve ser usado no banco DW, e não no meu banco relacional do sistema, correto??

  1. Pingback: Entenda o ColumnStore Index! « Alex Souza

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: