Arquivo da categoria: SQL SERVER 2012

Posts relacionados a nova versão do SQL Server antes com o codi-name Denali e agora oficialmente SQL Server 2012.

Top 4 Dicas para iniciar sua capacitação em SQL Server 2012 !

Pessoal, boa tarde!

Faz tempo que vejo a galera perguntando, como começar a estudar o SQL Server 2012 separei aqui para vocês algumas fontes de recursos para que vocês possam iniciar essa jornada:

  1. MVA, ja houviu falar? Não? Então acessa agora o link do Microsoft Virtual Academy:

virtual_academy

http://www.microsoftvirtualacademy.com/training-courses/introducao-ao-sql-server-2012

***Treinamento online em português e gratuito produzido pelo time de produto em parceria com nossos MVPs, e no final você ainda tem direito a certificado digital.

  1. SQl Server 2012 Developer Training Kit, por uma perspectiva de desenvolvimento este treinamento traz videos, hands-on e documentos que apresentam as principais inovações do      SQL Server 2012:

TrainingKit

http://www.microsoft.com/en-us/download/details.aspx?id=27721

  1. Faça download de alguns exemplos de banco de dados para estudo através do Codeplex:

 Codeplax

http://msftdbprodsamples.codeplex.com/

  1. E pra fechar é claro o guia do produto, aqui você vai encontrar vários white papers, datasheets e  apresentações técnicas sobre o SQL Server 2012:

ProductGuide

http://www.microsoft.com/en-us/download/details.aspx?id=29418

Confira essas dicas que com certeza você vai começar com o pé direito 🙂

Boa sorte!
Lívia.

Seja um DBA Multiplataforma!

Pessoal, boa noite!

Hoje vou falar de um assunto que realmente está transformando a experiência profissional de muitos administradores de banco de dados, os famosos “DBAs” e se você é um DBA que trabalha com a tecnologia Oracle você está na notícia certa!

Na nova era dos dados os DBAs possuem um grande desafio, trabalhar com pelo menos duas plataformas de banco de dados diferentes, e o ponto em questão para nós profissionais técnicos é: Como tirar proveito desse mercado promissor?

Primeiro entender esse mercado e segundo como podemos nos capacitar para se tornar um DBA MULTIPLAFORMA ou seja, a verdadeira “mosca branca” (risos) do mercado.

O Time de SQL Server da Microsoft apoia essa iniciativa e coloca a disposição dos DBAs uma série de recursos para auxiliar nessa grande transformação, desde estatísticas de mercado até a parte de capacitação.

Corra e aproveite essa GRANDE OPORTUNIDADE de ser um profissional diferenciado, acessa a matéria na íntegra:
http://www.microsofttienegocios.com.br/Post.aspx?Por+que+os+DBAs+precisam+ser+multiplataforma

Está na hora de inovar \o/ e bora evoluir pra isso acontecer!!!

Abs,
Lívia.

A nova era dos Dados – Big Data :-)

Olá pessoal e ai como vocês estão?

Hoje dediquei um tempinho para falar de um assunto que nem todo mundo conhece mais que já está bombando nas redes sociais, sim hoje vamos falar de Big Data \o/

Em diversos eventos tenho visto o pessoal comentando sobre Big Data uns acabam associando a expressão a cenários que apenas possuem um grande volume de dados, outros a cenários específicos como processamento em tempo real “streaminsight” ou ainda monitoramento nas redes socias, tais como twitter, facebook e etc.

O fato é que trata-se na verdade de um conceito que passa por algumas considerações, entre elas a questão dos 3 grandes “V’s”  aqui estamos falando de Volume, Variedade e Velocidade em alguns cenários chega a aparecer um 4° V que seria o “Valor” resultado dos 3 V’s anteriores.

bigdata1

O primeiro “V” que é o de volume e como o próprio nome já indica está associado ao volume de dados que é produzido em um ambiente, uma estatatística bastante interessante do IDC aponta que até a próxima década os dados vão aumentar cerca de 44 à 46 vezes mais, isto considerando dados estruturados e não estruturados.

O Segundo “V” que é o de variedade conecta-se diretamente ao fato da grande diversividade de dados que atualmente é produzida, estão desde dados estruturados, normalizados dentro de uma organização até o dados do mundo externo, ou seja, os não estruturados que podem ser arquivos de imagens, blogs, redes sociais, etc  que quando capturados, gerenciados e analisados rapidamente, ajudam  as empresas a descobrir eventos e padrões que não seriam capaz de reconhecer antes.

O terceiro “V” de velocidade indica a frequência da produção deste dados e como hoje em dia o mundo está conectado e pesquisas do mercado apontam que em média cada pessoa adulta possui 4 dispositivos e que essa produção parte dos dados pessoais, os dados das organizações, os dados da sociedade em que estas organizações estão inseridas até os dados que o mundo inteiro produz, isso acontece quase que de forma instantanea.

O grande desafio em questão é: Como a sua empresa está se preparando para trabalhar com essa nova era de dados? Como sua empresa poderá tirar proveito disso e extrair informação revelante para o negócio? Ou melhor, como a sua empresa poderá potencializar os seus lucros através disso?

A resposta é trabalhar com uma plataforma de dados completa e integrada será um grande diferencial competitivo no mercado para se destacar e aumentar a sua receita.

 Microsoft tem inovado muito nesse sentido, vivendo uma nova era com uma série de lançamentos rescentes.

O SQL Server 2012 como uma plataforma completa e integrada traz para o mercado ofertas com cenários de interoperabilidade para que sua empresa possa sair na frente \o/

Destaque aqui para a nova versão do sistema operacional  “Windows Server 2012” que já possui conectores para trabalhar com hadoop(tecnologia open-source para trabalhar com dados não estruturados) o mesmo acontece com a solução de cloud computing “Windows Azure” as aquiteturas de referência do SQL Server  “Fast Track” e o portifólio de Appliances (hardwares parrudos que ja vem com a tecnologia instalada, pré – configurada mais o suporte técnico) vale ressaltar o PDW o Parallel Data Warehouse hoje a melhor oferta de aplliance da Microsoft com arquitetura de processamento paralelo (MPP) interoperabilidade com outros tecnologias não Microsoft e também os conectores para Haddop.

Por isso a visão é promover grandes sacadas de negócio para todos sob qualquer tipo de dado de qualquer tamanho e em tempo real!

bigdata2

É ai pessoal, certamente voltaremos a falar mais sobre esse assunto, esse post foi só para começar \o/

Abs e até o próximo!
Lívia Sarto Santos.

Licenciando o SQL Server 2012 – Part IV

Três Cenários e Respostas Imperdíveis!!!

Pessoal, boa noite!

No post de hoje não vou falar somente de um ou dois, mais três cenários que a galera no geral tem apresentado algumas dúvidas.
E a primeira coisa a dizer é “Calma” o licenciamento não é um bicho de sete cabeças… Rs
E com o SQL Server 2012 tudo ficou ainda mais fácil e simples! 🙂

Bora lá ver quais são:

1- Ambientes de Desenvolvimento.
A dúvida mais comun no primeiro cenário é: Como eu posso licenciar ambientes de desenvolvimento?
Resposta: O SQL Server 2012 possui uma edição chamada Developer que possui todas as funcionalidades da edição Enterprise, ou seja, é uma cópia fiel com exatamente tudo, porém só pode ser utilizada em ambientes de desenvolvimento, teste e homologação.
Existem algumas formas de adquirir a que eu normalmente recomendo é a aquisição através de uma assinatuda MSDN com Visual Studio que pode ser Professional, Premium ou Ultimate ou somente através do modelo Per/User que significa Por/Usuário assim cada usuário deverá receber uma licença, o servidor não precisa de licença e o usuário pode instalar cópias do produto em N dispositivos, desde que o propósito seja desenvolvimento, teste ou homologação. É extremamente importante ressaltar que essa edição NÃO pode ser executada em ambiente de produção de forma alguma.

2- Ambientes de Alta Disponibilidade e Missão Crítica.

Nesse cenário a questão chave sempre é: Eu preciso licenciar meu servidor passivo?
Resposta: Em todas as edições o SQL Server 2012 traz funcionalidades de alta disponibilidade como backup, log shipping ou mirroring, portanto se você tiver uma cenário ativo e passivo, a máquina ativa deve ser licenciada e a passiva não precisa, desde que não seja utilizado nenhum recurso da mesma, nem relatórios, componentes ou snapshots do produto, ou seja, absolutamente nada.
Quero destacar aqui se você tiver uma segunda máquina fazendo o também o papel de Passiva, esta deve ser licenciada.
Outro ponto aqui é que o SQL Server 2012 traz para o mercado uma nova solução de alta disponibilidade, completa, integrada e flexivel chamada de AlwaysOn que permite ativar até quatro máquinas secundárias, e todo mundo sempre pergunta e nesse caso, como fica?
Bom como as máquinas secundárias estão sendo utilizadas para melhorar a perfomance da principal e fazer o failover em caso de falha, ou seja, vários recursos estão sendo atualizados, estão é preciso licenciar todas as máquinas em uma situação como esta.
As imagens a seguir ilustram a explicação:

3- Migração dos clientes que estão no modelo Server/Cal da edição Enterprise para o licenciamento do SQL 2012.

Com certeza essa é a dúvida do momento. O SQL Server 2012 não comercializa a edição Enterprise no modelo Server/Cal  ela é somente vendida no modelo por Core. E agora você deve questionar: E como ficam os clientes que já possuem investimentos nesse modelo?

Resposta: Os investimentos que já foram feitos pelos clientes no SQL Server estão seguros, e o cliente com Software Assurance poderá atualizar para o SQL Server 2012 sem custo adicional.

Na renovação, o custo pode ser maior que o previsto. Haverá uma série de opções disponíveis para ajudá-los a planejar as mudanças:

a) O cliente poderá comprar o SQL Server 2012 Standard ou Business Intelligence através do modelo de licenciamento Servidor/CAL.

b) O cliente poderá comprar as licenças do SQL Server 2012 Enterprise Edition pelo licenciamento Servidor/CAL até o fim do contrato EA/EAP.

c) Após a renovação, o cliente que precisar de recursos de missão crítica ou data warehousing deve comprar a Enterprise Edition por meio do licenciamento baseado em núcleo ou usar a virtualização de banco de dados para otimizar suas necessidades de poder de processamento.

 *** Essa dúvida sempre aparece quando falamos dos modelos de migração do licenciamento anterior para o novo, então pessoal quem está no modelo por processador físico vai ser convertido em core e quem está no server/cal será mantido no mesmo, ou seja, que é server/cal não será convertido em core.

  Bom pessoal esses são os casos que o pessoal tem comentado mais dúvidas, espero que tenha ajudado.

 Abs e boa semana.
Lívia

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

Licenciando o SQL Server 2012 – Part III

Hello Guys,
Bora dar continuidade a série Licenciando o SQL Server 2012 a gente já está na parte III huhu 😉

Conforme prometido hoje a gente vai ver quais edições são comercializadas dentro de cada modelo de licenciamento e tb como será o licenciamento para cenários virtuais…

A tabela a seguir mostra quais edições são comercializadas dentro de cada modelo de licenciamento:

 Perceba que a edição Enterprise que é a edição mais parruda da versão 2012, será comercializada somente dentro do modelo CORE, ou seja, não será comercializada por SERVER/CAL, vale ressaltar que se você licenciar a mesma com o SA (Software Assurance) você terá direito de virtualização ilimitado, podendo assim aproveitar o máximo da arquitetura do seu hardware e ter um maior retorno do seu investimento.

Já a nova edição chamada de Business Intelligence ao contrário da Enterprise será somente comercializada dentro do modelo SERVER/CAL permitindo assim que você pague de acordo com o seu crescimento, ou seja, como neste modelo se você precisar de uma licença de SERVER para o servidor e uma CAL de acesso para cada dispositivo ou usuário, a medida que o número de usuários do ambiente for aumentando você irá fazendo as aquisições das CALs de acesso.

Outra vantagem, é a flexibilidade de escalar horizontamente, por exemplo, se inicialmente você tem somente 1 servidor e 100 usuários, você deverá fazer a aquisição de uma licença de SERVER mais 100 CALs de acesso para o ambiente, porém se futuramente você adicionar mais um servidor a este cenário, você deverá fazer a aquisição de somente de mais uma licença de SERVER , isso por que a CAL dá o direito de acesso para o usuário a N ambientes que estejam executando o SQL Server, portanto um usuário com uma CAL de acesso poderá acessar mais de um servidor quando o mesmo estiver sendo licenciado dentro do modelo SERVER/CAL.

***Devo lembrar aqui que a CAL não é uma licença mais sim o direito do usuário/dispositivo acessar o ambiente.

Contudo,  a edição Standard por ser uma edição mais limitada é a única que poderá ser comercializada dentro dos dois modelos tando o CORE, quanto o SERVER/CAL, mais a dúvida agora deve ser…. Beleza e qual eu devo escolher neste caso???

Para essa resposta da uma olhada no post anterior em que eu explico cada um dos modelos de licenciamento e quanto um ou outro deve ser utilizado: https://liviasarto.wordpress.com/2012/02/21/licenciando-o-sql-server-2012-part-ii/ mas resumindo a resposta você deverá utilizar o SERVER/CAL somente em ambientes que vc tenha controle absoluto da quantidade de usuários/dispositivos que vão acessar o ambiente, caso contrário o modelo CORE é o mais indicado.

Legal e quanto a parte de virtualização???

Bora ver isso agora 😉

Licenciando cenários virtuais dentro do modelo CORE:

A grande vantagem neste modelo é que você paga somente pelo poder do hardware que você precisa, exemplo: Da uma olhadinha na imagem acima, neste cenário temos 1 servidor físico que é composto por 4 processadores físicos de oito núcleos cada (eight core), porém para o cenário projetado para o SQL Server 2012 não será usado todos os processadores físicos.

 Logo, foi criado duas máquinas virtuais (VMs) perceba que a VM1 possui 2 processadores lógicos de quatro núcleos lógicos cada e a VM2 tb possui dois processadores lógicos porém com 6 núcleos lógicos cada.

 Ao invés de licenciar todos os núcleos físicos dos processadores físicos, basta licenciar somente os núcleos lógicos das VMs, portanto, para a VM1 será necessária a aquisição de 8 licenças de núcleo (core) e para a VM2 será necessário a aquisição de 12 licenças de núcleo (core).

Considerações importantes:

  • Mínimo de 4 licenças de núcleo(core) para cada processador lógico.
  • Vc não precisa licenciar todos os núcleos(cores) físicos do ambiente.
  • Terá o direito de mobilidade de licença quando adquirir a mesma com o SA (isso a gente vai ver um pouco mais frente).
  • Disponível somente para as edições Enterprise e Standard do SQL Server 2012.

Galera, hj vou parar por aqui no próximo post a gente vai ver como licenciar cenários virtuais dentro do modelo SERVER/CAL e tb vamos entender  quais as vantagens de fazer a aquisição com o SA e usar a mobilidade de licença. 😉

Abs e até,

Licenciando o SQL Server 2012 – Part I

Olá pessoal, boa tarde!

Muitos de vcs estão curtindo o carnaval maravilhoso do Brasil e eu rsrsrs resolvi fazer uma pausa pra falar de um tema que esta chegando com tudo no lançamento do SQL Server 2012 o licenciamento.  🙂

Recentemente eu fiz uma série de posts aqui no meu blog falando do licenciamento do SQL Server 2008 R2, porém agora bora focar no SQL Server 2012 por que muita coisa mudou, mas foi para facilitar 🙂

Antes de mais nada vou fazer um rápido overview das grandes novidades do SQL Server 2012, o que consequêntemente vai facilitar nosso entendimento para o novo modelo de licenciamento:

O SQL Server 2012 é muito mais do que um SGBD (sistema de gerenciamento de banco de dados) hoje ele é uma plataforma de dados e informação pronta!!!

E vc deve estar se perguntando, pronta para o que?
Resposta: Para trabalhar nos seus termos, ou melhor, nos termos do seu negócio.

Com isso o SQL Server 2012 traz três principais pilares: 

  • Missão Crítica:
    Provando a robustez do SQL Server para trabalhar em ambientes de missão crítica, considerando performance , alta disponibilidade e segurança umas das principais inovações são: AlwaysOn e ColumnStore Index.
  • Breakthrough Insight:
    Inovando com uma solução de BI que é para todos dentro da organização e permitindo através de poderosas ferramentas o acesso aos dados em qualquer lugas a qualquer hora e no formato correto, dentro deste pilar temos grandes inovações para a exploração e descoberta de dados com o PowerView e o PowerPivot.
    Além de toda a parte de gerenciamento e disseminação dos dados com o SharePoint e agora através de um único modelo semântico de dados temos o BI Semantic Model.
  • Cloud On Your Terms:
    Dentro deste pilar vc encontra a flexibilidade de estender soluções desenvolvidas em casa até datacenter ou cloud e ainda aumentar a sua produtividade com o SQL Server Data Tools que lhe permitirá desenvolver uma única vez e executar em qualquer lugar, vale a pena tb ressaltar a flexibilidade de sincronização dos dados de casa com dados que estaja na nuvem através do Data Sync permitindo trabalhar ambientes híbridos.

Até aqui tranquilo, cheio de novidades que vão sim revolucionar nosso mercado 🙂 agora vamos ver como isso tudo está relacionado com a parte de licenciamento…

O SQL Server 2012 será comercializado em três edições principais:

 

As funcionalidades da antiga edição SQL Server 2008 R2 Datacenter estão disponíveis nesta, todas as features de BI, alta disponibilidade, segurança e performance, é a edição mais parruda, ou seja, tem todas as funcionalidades que o produto possui.

Nova versão do produto contempla todas as features de BI incluindo a rápida descoberta e exploração de dados com o PowerView e o BI Semantic Model.

Funcionalidades básicas de Database e BI, é indicada apenas para cenários departamentais.

***Complementando: A edição WEB tb continua disponível, mais será comercializado somente através de SPLA*(Veremos isso mais pra frente).
As edições Datacenter, Workgroup e Small Business, foram retiradas.

Galera, esse primeiro post foi só pra deixar todo mundo na mesma página 🙂 daqui pra frente acaba o bla bla rsrsr então prepare-se e fica esperto para o próximo.

 Abs e até  lá,

SQL Server 2012: Projeto Apollo – Parte V

Pessoal, estou dando continuação aos testes da tecnologia ColumnStore Index que iniciamos nos posts anteriores:

Vamos ver o mesmo cenário agora com o ColumnStore Index:

  1. A primeira coisa é fazer a criação do ColumnStore Index na nossa tabela de fatos a FactOnlineSales e a criação do mesmo pode ser feita tanto pela parte gráfica via SSMS ou pode ser feita via t-sql  seguindo  o mesmo padrão de syntax utilizado para a criação dos outros tipos de índices. No link a seguir você tem mais exemplos de como fazer a criação do índice via T-sql: http://msdn.microsoft.com/pt-br/library/ms188783.aspx
    • Vou fazer a criação do mesmo via SSMS:
    1. Dentro da estrutura de árvore da tabela vá até a pasta Indexes;
    1. Depois selecione a mesma e clique com o botão direito em Novo Índice (New Index) e na sequência selecione a opção: “Non-Clustered Columnstore Index”, conforme a imagem abaixo:

2- Será exibido o wizard para criação do ColumnStore Index, nessa tela você poderá alterar o nome do índice e fazer uma revisão nas outras abas para configuração:

3- Depois é só clicar no botão Add para incluir as colunas que vão fazer parte do Index, você pode clicar no checkbox ao lado para selecionar algumas ou se preferir pode clicar no checkbox “name” para selecionar todas as colunas e na seguida clicar em OK:

Um OBS aqui é existe algumas limitações quanto as tipos de dados que são suportados pelo ColumnStore Index como por exemplo, image, decimal e numérico com precisão maior que 18 não são suportados, mais eu vou fazer um post abordando quais são as limitações e dando algumas dicas de como trabalhar com elas 🙂

4- Feito isso o ColumnStore Index será criado e seu ambiente deverá ficar assim:

Asistente concluindo a instalação:

5- ColumnStore Index criado:

6- Feito isso o próximo passo agora é executar o mesmo star join e comparar os resultados:

E o resultado é realmente INCRÍVEL, really AMAZING exatamente a mesma consulta na mesma máquina com as mesmas configurações de hardware e software, no memo ambiente sem nenhuma alteração no código levou apenas 1 segundo para apresentar os resultados.

7- Vamos dar uma olhadinha no plano de execução:Primeira coisa a reparar é que o custo do Non-Clustered ColumnStore Index aqui foi de apenas 45% e o modo de execução utilizado foi o Batch, conforme eu mencionei anteriormente.

A tabela abaixo mostra o nosso ganho de performance no teste aplicado:

Bom pessoal é isso ai, agente já viu na prática que realmente o ColumnStore Index está vindo pra revolucionar em termos perfomance e promover a interatividade dos usuários quando trabalhando com o SQL Server, estou bastante feliz por isso, todos nós estamos sendo beneficiados tanto os profissionais de TI (dba,dev e analistas) e assim por diante quanto o usuário final, por que se agente conectar a idéia de que essa interatividade que está chegando com o SQL Server 2012 está relacionada diretamente a visão de ter a informação certa no formato correto a qualquer hora para potencializar o processo de tomada de decisão e assim definir melhores estratégias para garantir os melhores resultados, não tenho dúvidas que a plataforma de banco de dados da Microsoft possui tecnologias suficientes para que possamos tonar isso realidade!

 É isso ai agente inova pra vc transformar!

Até o próximo post.
Abs,
Lívia

SQL Server 2012: Projeto Apollo – Parte IV

Pessoal preparem-se:

TESTANDO O COLUMNSTORE INDEX:

  1. Eu criei um star join, uma consulta simples com uma tabela de fatos e seis tabelas de dimensões, importante ressaltar que minha tabela de fatos a FactOnlineSales tem um total de 12 milhões 627 mil e seissentos e oito registros, ou seja, uma tabela boa pra gente fazer o teste, rode o script abaixo no seu ambiente para conferir as  infos:

USE ContosoRetailDW

–TABELA DE FATOS
SELECT COUNT(*) FROM FactOnlineSales — TOTAL DE REGISTROS:12627608

–TABELAS DAS DIMENSÕES:
SELECT COUNT(*) FROM DimProduct — TOTAL DE REGISTROS:2517
SELECT COUNT(*) FROM DimProductSubcategory — TOTAL DE REGISTROS:44
SELECT COUNT(*) FROM DimProductCategory — TOTAL DE REGISTROS:8
SELECT COUNT(*) FROM DimDate — TOTAL DE REGISTROS:2556
SELECT COUNT(*) FROM DimCustomer — TOTAL DE REGISTROS:18869
SELECT COUNT(*) FROM DimGeography — TOTAL DE REGISTROS:674

  1. Depois eu criei a query a  seguir, um típico star join que vai nos retornar  os campos: PAÍS, CATEGORIA, QUANTIDADE, TOTAL_VENDA e ANO:

–CRIADO POR LÍVIA SARTO EM 14/11/2011

USE ContosoRetailDW

SELECT G.RegionCountryName AS PAÍS, ProductCategoryName AS CATEGORIA,
SUM(SO.SalesQuantity) AS QUANTIDADE, SUM(SO.SalesAmount) AS TOTAL_VENDA,
YEAR(D.FullDateLabel) AS ANO
FROM DimProduct AS P, FactOnlineSales AS SO, DimDate AS D, DimProductSubcategory AS
PS,DimProductCategory AS DC, DimCustomer AS C, DimGeography AS G
WHERE P.ProductKey=SO.ProductKey
AND SO.DateKey = D.Datekey
AND P.ProductSubcategoryKey = PS.ProductSubcategoryKey
AND PS.ProductCategoryKey = DC.ProductCategoryKey
AND SO.CustomerKey = C.CustomerKey
AND C.GeographyKey = G.GeographyKey
AND YEAR(D.FullDateLabel) BETWEEN ‘2007’ AND ‘2010’
GROUP BY G.RegionCountryName, YEAR(D.FullDateLabel), DC.ProductCategoryName
ORDER BY SUM(SO.SalesQuantity)DESC, SUM(SO.SalesAmount);

  1. Ainda não criei o índice ColumnStore na tabela FactOnlineSales, lembrando aqui que não faz muito sentido criar esse tipo de índice nas tabelas dimensões por que a quantidade de registros é menor, mais ao executar a query acima sem ter criado ainda o ColumnStore Index eu tive o seguinte resultado:

Percebam no meu resultado que eu não criei ainda o índice ColumnStore conforme o primeiro círculo destacado na cor vermelha acima dentro da pasta Indexes que compoem a estrutura da tabela, outro ponto importante que vocês podem observar também é o tempo que eu tive que esperar para ter o resultado da consulta, ou seja,  foram 34 segundos de espera. 😦

4- Vamos dar uma uma olhada no comportamento do plano de execução realizado, para esta consulta:

 Primeira coisa a reparar que o “Actual Execution Mode” é igual a Row, ou seja, a forma de leitura utilizado para buscar os dados desta consulta é a do conteito RowStore, conforme explicado no post passado. Vou fazer uma ressalva aqui, lembra que eu comentei que a tecnologia ColumnStore Index era bem mais do que um novo tipo de índice e expliquei como funciona o armazenamento dos dados e mencionei seguimentos compostos de até 1 milhão de registros chamados de seguimentos que são processados em um formato de batches? Então quando agente estiver usando o ColumnStore Index ao invés de Row o “Actual Execution Mode” será igual a Batch.Segunda coisa a considerar aqui é que nosso Clustered índice utilizado aqui teve um custo de 75% pra gente.

Uau eu disse que hoje agente vai tirar a prova real com o ColumnStore Index então fica esperto o próximo post vem ai já na sequência!

Bjs,
Lívia

SQL Server 2012: Projeto Apollo – Parte III

ColumnStore Index -Queries 10X mais performáticas!

Pessoal, esquentei mesmo os motores e hoje fiquei o dia todo só testando performance das queries
com o ColumnStore Index, como eu disse no twitter minha resposta é: ANIMALLL!!! 🙂

Calma, como eu prometi vou dividir essa experiência com vocês, então prepara-se, bora colocar
a mão na massa! (risos)

1- Primeira coisa, acessar o site do SQL Server 2012 e baixar o CTP3 disponível: https://www.microsoft.com/betaexperience/pd/SQLDCTP3CTA/enus/

2- Fazer a instalação do SQL Server no seu ambiente (não vamos abordar aqui o passo a passo).

3- Precisamos ter um banco de dados para DW para fazermos os testes, então vc pode pegar os bancos de estudo do Denali (code-name) do SQL Server 2012 para estudar:  http://msftdbprodsamples.codeplex.com/releases/view/55330

  • Recomendo aqui pegar o AdventureWorksDWDenali Data File como vamos testar o ColumnStore Index que agente já viu  que é um novo índice projetado para ambientes de DW devemos simular em uma base OLAP 🙂

Bom, agora vou explicar como foram os meus testes:

  1. Eu testei com uma base de dados chamanda ContosoRetailDW que é uma das bases utilizada para fazer as demonstrações das soluções de BI da Microsoft, o que eu fiz foi fazer o download do arquivo de backup “ContosoBIdemoBAK.exe” através do link http://www.microsoft.com/download/en/details.aspx?id=18279  e  depois restaurar o mesmo no meu ambiente através da interace gráfica do SQL Server Managemente Studio, conforme a figura abaixo mostra:

Clicar em Databases e depois com o botão direito selecionar a opção Retore Database:

Quando a nova janela abrir basta selecionar a opção Device e depois clicar em Add e locarlizar o arquivo “ContosoBIdemoBAK” que você extraiu do executável ContosoBIdemoBAK.exe:

Quando finalizar o processo de Restore, você deverá ter um amabiente como o da imagem abaixo:  

Com as tabelas de fatos e as das dimensões:

Se vc conseguiu chegar até aqui, parabéns 🙂 agora que agente vai começar a brincadeira de verdade!

 Vem ai na sequência já o próximo post 🙂

Abs,
Lívia