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á,

Licenciando o SQL Server 2008 R2 – Part III

QUANDO DEVO USAR O MODELO DE LICENCIAMENTO “POR PROCESSADOR FÍSICO” OU O MODELO “SERVIDOR/CAL”???

Galera é o seguinte, muita gente se confundi justamente nesse momento, então agora fica esperto e com os olhos bem abertos que que vou mandar umas dicas bem legais…..

Vamos lá… o modelo Servidor/Cal,  é aplicado em cenários que vc tem controle absoluto da quantidade de usuários que vão acessar o ambiente, independente  da quantidade de interfaces entre o usuário final e o banco de dados.

Portanto, a arquitetura do ambiente deve ser composto por uma DMZ e autenticação no Firewall/aplicação, com isso é garantido que se tem de fato  o controle de usuários que estão acessando o ambiente.

Já com relação ao modelo “Por processador físico” o mesmo é aplicado em cenários que não é possível controlar a quantidade de usuários como é o caso dos e-commerce’s ou em situações que a quantidade de calls de usuário/dispositivo seja muito grande e o licenciamento dentro do modelo “Por Processador Físico” em termos de custo/benefício seja mais vantajoso do que o modelo “Servidor/Cal”

A seguir algumas considerações de cenários para que vc possa aplicar um ou outro modelo de licenciamento:

O modelo Por Servidor/CAL é apropriado quando:

  • Você pode contar seus usuários/dispositivos.
  • O número de usuários/dispositivos é baixo o suficiente para o custo ser menor que o de usar o modelo Por Processador.
  • Você planeja escalonar horizontalmente o seu uso do SQL Server através do uso de novos servidores com o tempo. (Uma vez compradas as CALs necessárias, você precisa apenas de Licenças de Servidor adicionais para servidores novos.)
  • Usuários acessarem muitos bancos de dados do SQL Server

O modelo Por Processador é apropriado quando:

  • Você não pode ou não quer contar usuários/dispositivos.
  • O número de usuários/dispositivos é alto o suficiente para que o modelo Por Processador seja mais eficiente em termos de custo que o modelo Servidor/CAL .
  • O SQL Server está sendo usado para sites e aplicações voltadas para fora da rede corporativa.

Bom galera é isso ai, ja deu pra esquentar os motores…rsrsr no próximo post vou falar sobre como aplicar essas modalidades de licenciamento para cenários de virtualização….então fica esperto!!!

Abs,
Lívia

Licenciando o SQL Server 2008 R2 – Parte II

Bom galera dando continuidade ao post anterior …bora ver o outro modelo de licenciamento do SQL Server 2008 R2:

LICENCIAMENTO SERVIDOR/CAL

Dentro desse modelo, você licencia o servidor e a quantidade de usuários ou dispositivos que vão acessar o ambiente, ou seja, uma licença de Servidor para o Servidor e uma CAL para cada dispositivo (CAL por Dispositivo) e/ou usuário (CAL de Usuário) que acessar ou usar os serviços ou funcionalidades do SQL Server ou qualquer um de seus componentes (por exemplo, o SQL Reporting Services).

Exemplo: Para um servidor hospedando uma aplicação que será acessada por 30 usuários, vc deverá adquirir uma licença para o servidor e mais 30 calls de acesso, uma para cada usuário.

Observações

  • CALs de SQL Server 2008 R2 (ou CALs de SQL Server 2008 com SA) são necessárias.
  • Um determinado usuário ou dispositivo precisa de uma CAL de SQL Server para acessar qualquer número de instâncias do SQL Server na organização.
  • CALs de SQL Server também podem ser usadas em qualquer SQL Server, independentemente da plataforma (32 bits, 64 bits e IA64) ou da edição (Workgroups, Standard e Enterprise).
  • O uso de hardware e/ou software que reduz o número de dispositivos ou usuários que acessam diretamente ou usam o software (multiplexação/pooling) não reduz o número de CALs necessárias.
  • Partições ou blades separadas são consideradas servidores separados para fins de licenciamento.

Dúvidas comuns:

Dentro do modelo “Servidor/Cal”

Em que situação eu adquiro Cal de dispositivo?
Resp: Um típico exemplo que uso para esclarecer essa dúvida é, imagine que o produto está sendo adquirido para uma empresa de call center, cujo o cenário desenhado para suportar a demanda é um servidor e cinco computadores, porém, a equipe de trabalho é composta por 10 usuários que trabalham meior período cada.
Ao invés de adquirir uma licença de Servidor para o Servidor e mais 10 cals de usuário, em termos de custo/benefício é mais vantajoso adquiri uma licença de servidor para o Servidor e 5 cals de dispositivo para o ambiente.

Tenho um ambiente composto por um servidor que hospeda uma aplicação que é acessada por 100 usuários, porém no meu código, possuo apenas uma string conexão composta por um usuário/senha para fechar conexão com o banco. Neste caso devo arquirir uma licença de servidor para o Servidor e apenas uma cal de usuário para o ambiente?
Resp: Não, a quantidade de interfaces entre o usuário final e o banco de dados não interfere na quantidade de cals de usuário/dispositivo necessária, portanto, para este cenário o correto é: Uma licença de servidor e mais 100 cals de usuário ou dispositivo.

Agora eu tenho certeza que  vc deve estar se perguntando..blz e qdo eu uso um ou outro????

Hahah pega o próximo post pra saber a resposta..

Abs,
Lívia

Licenciando o SQL Server 2008 R2 – Part I

Olá pessoal, boa tarde!

Em pleno domingão chuvoso estava ganhando inspiração pra fazer um novo post, estou super empolgada para falar das novidades do SQL Server 2012 como a um tempo atrás eu fiz uma série de posts falando do Column Store Index (projeto Apollo), mais hoje vou abrir uma exceção.

Isso por que a maioria dos clientes que atendo e colegas de área sempre tem dúvidas relacionadas a parte de licenciamento do SQL Server 2008 R2.

Então vamos lá, bom sabemos que está chegando ao mercado brasileiro, mais precisamente, primeiro trimestre de 2012 a nova versão do produto antes com o codi-name Denali mais agora oficial SQL Server 2012.

Por enquanto ainda não vamos falar do licenciamento da nova versão, este é um assunto para daqui a pouco, mais pra quem desejar se adiantar pode encontrar infos no link a seguir: http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-licensing.aspx

Hoje voi focar no licenciamento do SQL Server 2008 R2 e desvendar os grandes mitos ou dúvidas sobre o mesmo. 🙂 🙂 🙂

Existem basicamente duas formas de licenciamento, uma que chamamos de “Licenciamento Por Processador” e a outra de “Licenciamento Servidor/CAL” estas duas formas sofrem algumas variações dependendo do cenário que estiverem sendo aplicadas.

Fique atento as observações referente as edições do SQL Server 2008 R2:
As edições SQL Server 2008 R2 Datacenter e SQL Server 2008 R2 Web são comercializadas somente dentro do modelo “Licenciamento Por Processador”.

A edição SQL Server 2008 R2 Developer é  restrita ao uso em desenvolvimento e testes e é licenciado Por Usuário.

Feitas as considerações princípais, bora entender os dois formatos de licenciamentos,  mais vale ressaltar que as regras efetivamente devem ser vistas no PUR – Product Use Rights.:


LICENCIAMENTO POR PROCESSADOR FÍSICO:

Dentro desse modelo não é preciso adquirir Calls de acesso, ele inclui acesso para um número ilimitado de usuários ou dispositivos conectarem-se, tanto dentro como fora da rede corporativa, porém  vc precisa licenciar todos os processdores físicos da máquina, ou seja, se vc estiver licenciando uma máquina com dois procs, vc precisará adquirir duas licenças do SQL Server e assim por diante.

Observações:

  • Uma licença Por Processador é necessária para cada processador instalado em cada ambiente de sistema operacional executando o SQL Server ou qualquer de seus componentes (por exemplo, o Analysis Services).
  • Para o SQL Server executado em ambientes de sistema operacional físicos você deve licenciar todos processadores físicos.
  • Os custos de licença Por Processador são os mesmos, independentemente do número de núcleos do processador.

Dúvida comun:

***Dentro desse cenário normalmente alguns perguntam:
Se eu configurar o SQL Server para usar apenas 1 proc e não todos os procs da máquina, posso licenciar apenas a quantidade que eu estiver usando?
Resp: Não, a regra é clara, dentro do modelo “Por Processar Físico” todos os procs da maquina deverá ser licenciado, logo vc deverá adquirir uma licença para cada, independente se vc configurar o SQL Server para não usar todos, isso por que por default quando instalado o SQL Server já reconhece todos os procs da máquina.

Bom galera…. é isso ai segura que a segunda parte ja esta saindo.. 🙂

O Microsoft Business Intelligence Conference aconteceu no dia 13/12 em São Paulo e foi um sucesso!

Pessoal, Boa noite! 🙂

Faz tempo que não sai um post fesquinho eim rsrs mais aguenta firme que o de hoje é bem interessante tanto para quem é da area técnica de TI quanto quem é da area de Negócios.

Mês passado eu anunciei  aqui no meu blog o MS BI Conference Brasil – 2011 umas das maiores conferências de BI do Brasil realizada pela Microsoft e com as inscrições gratuitas…lembra???

Quem conseguiu garantir vaga e participar se deu bem, isso por que, teve a oportunidade de conhecer em primeira mão as novidades do SQL Server 2012 para BI e saber os príncipais pontos sobre o tema.

Já quem não conseguiu participar,  se deu mal, isso por que a conferência foi um SUCESSO, mais aproveita a dica e fica esperto para não ficar de fora da próxima!!!

 Agora confere só o que rolou no evento:

 Com um rico e vasto conteúdo o evento foi apresentado para mais de 400 pessoas no Hotel Sheraton WTC, com a presença de vários gestores e tomadores de decisão das áreas de TI e Negócios.

 E também  contou com a a participação especial do jornalista  Carlos Alberto Sardenberg que é âncora do programa CBN Brasil e comentarista econômico da Globonews e do Jornal da Globo, que falou exclusivamente sobre o momento econômico que o Brasil enfrenta.

Segura ai que ainda tem mais, na general session, falamos sobre as principais novidades do SQL Server 2012 para BI, features novas e super empolgantes que o mercado estava mesmo querendo colocar os olhos J a expectativa foi tão alta que até saiu uma nota do ABDE (Associação Brasileira de Instituições Financeirade Desenvolvimento) com destaque paa isso e uma feedbacksuper positivo da Desenbahia (Agência de Fomento de Estado da Bahia) do que foi o evento:

**** Na parte da manhã, a palestra de Thiago Zavaschi e Lívia Santos apresentou novidades do SQL Server 2012. Grande destaque para o PowerPivot, que na versão RC0 já traz a empolgante funcionalidade de exportar para PowerPoint, permitindo ao usuário manter a experiência interativa ao visualizar os slides em modo de apresentação.

Hahah quer conferir a matéria na integra?? Acessa o link

Vale falar das premiações também..Xbox com Kidnect foi o premio preferido kkk

E das 8 sessões que teve no período da tarde tanto pra área de Negócios quanto pra Técnica..Sensacional!!

*** Dica..a nova versão do SQL Server antes com o codi name Denali e agora oficial SQL Server 2012 está chegando ao Brasil J  com uma série de novidades tanto pra parte de Data Management quanto pra BI…eu mal posso esperar e vc??? 

Então fica de olho no que vai rolar para o lançamento do SQL Server 2012 no Brasil…fica a dica rsrs

Abs e até o próximo post,
Lívia

Microsoft Business Intelligence Conference – Brasil 2011.

Pessoal,

Sardenberg

Prepare-se para participar de uma das mais importantes conferências sobre Business Intelligence do país.

Vem aí o Microsoft Business Intelligence Conference – Brasil 2011!

Esta é a sua grande chance de ficar por dentro de tudo que está acontecendo no mercado quando o assunto é BI e ainda ter a oportunidade de conhecer em primeira mão as soluções da Microsoft para BI, CRM, ERP e Gestão de Projetos apresentadas por especialistas nos assuntos.

No evento, abordaremos casos de sucesso reais em diversas indústrias e teremos a participação especial do jornalista Carlos Alberto Sardenberg que é âncora do programa CBN Brasil e comentarista econômico dos programas noticiosos da CBN, do Jornal das Dez (da Globonews) e do Jornal da Globo, da TV Globo.

O evento é gratuito e com vagas limitadas por isso NÃO PERCA TEMPO e garanta já a sua inscrição:
Inscrição Microsoft BI Conference – Brasil 2011.

Veja também a agenda do evento com os assuntos mais esperados e discutidos quando o tema é BI e saiba em primeira quais são as novidades do SQL Server 2012 e Appliances!!!

Aproveite e utilize a hashtag #msbiconf para fazer perguntas online durante o evento!

Abs,
Lívia

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

SQL Server 2012: Projeto Apollo – Parte II

Pessoal,  dando sequência a série de posts que estou fazendo sobre o projeto Apollo vou iniciar hoje a parte II.

Sei que muitos estão aproveitando o feriado pra cair na gandaia 🙂 e estou aproveitando pra preparar um post super legal 🙂 Por isso aproveitem bem por mim tb!

Chega de bla, bla,bla e vamos ao que interessa 🙂

 Agora que agente já sabe o que é a tecnologia ColumnStore Index e qual é o objetivo, vamos entender um pouco como a mesma funciona por de trás dos bastidores, é isso mesmo, quando agente fala em QUERIES 10X MAIS PERFORMÁTICAS e sobre interatividade  total agente precisa entender como isso é possível também.

O ColumnStore Index faz o armanzenamento das informações de uma forma diferente dos outros índices que estamos trabalhando atualmente.

Hoje quando falamos em estrutura B-tree ou Heap trabalhamos com o armazenamento em formato de linha normalmente conhecido pelo conceito RowStore, ou seja, os dados são armazenados em um formato de linha(registro) , para entender melhor  vamos imaginar que temos uma tabela chamada TABLE1 e que nessa tabela nós temos seis colunas COL1, COL2, COL3, COL4, COL5 e COL6 com o conceito RowStore cada coluna dessa tabela será armazenada compondo  um registro dentro das paginas de dados.

Diferente disso o ColumnStore Index trabalha com o conteúdo de “puro” ColumnStore, ou seja, o armazenamento é feito em um formato de coluna e em grupos de páginas de dados diferentes.

 Se agente aplicar o mesmo exemplo utilizado acima da TABLE1 com seis colunas COL1, COL2, COL3, COL4, COL5 e COL6, teremos o seguinte cenário:

 A figura acima ilustra como seria o armazenamento de 6 colunas dentro do conceito ColumnStore comparando-o com o B-Tree, ou seja, cada coluna dentro do ColumnStore Index é composta por um grupo de três páginas de dados(neste exemplo é claro) e cada coluna da tabela é armazenada individualmente em seu respectivo grupo de páginas de dados.

Agora imagine que vc está construindo uma query, vamos pensar aqui em um star join considerando que o ColumnStore Index foi projetado para ambientes de Data warehouse, BI, com funções de agregação e agrupamento e que essa query busque apenas as colunas 3 e 4, somente as páginas de dados dessas colunas seriam lidas.

Outra ponto bastante relevante  é que o ColumnStore Index trabalha com o algoritmo Vertipaq que é o mesmo utilizado pelo Power Pivot e no SQL Server 2012 pelo Analysis Services para compressão e compactação dos dados em memória.

Devo ainda comentar que trata-se muito mais do que um novo tipo de índice, trata-se de um novo método de execução das queries, pois essas colunas são quebradas em conjuntos de dados composto por até 1 milhão de registros chamados de seguimentos que são processados em um formato de baches (mais esse é um papo para os próximos posts).  🙂

O que agente ganha com isso? Performance, mais muita PERFORMANCE, da só uma olhadinha na ilustração abaixo:

Pessoal, é isso ai agora agente já sabe o que é,  qual é o objetivo e como funciona o novo ColumnStore Index.

Fiquem espertos nos próximos posts acaba o bla bla (risos) e agente vai colocar a mão na massa, nós vamos fazer a criação do ColumnStore Index vamos conhecer as melhores práticas e entender no detalhe quais são as limitações e é claro testar a performance no nosso ambiente 🙂

Por isso não perca meu próximo post.

Até lá.
Lívia