workshop sql server 2012

45
Workshop SQL Server 2012 Viviane Ribeiro Especialista em Banco de Dados e BI Microsoft [email protected] SQL Server AlwaysON ColumnStore Index Novidades para o SSAS Power Pivot e Power View

Upload: vivianeribeiro

Post on 27-Jun-2015

2.273 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Workshop SQL Server 2012

Workshop SQL Server 2012

Viviane RibeiroEspecialista em Banco de Dados e [email protected]

SQL Server AlwaysONColumnStore Index

Novidades para o SSASPower Pivot e Power View

Page 2: Workshop SQL Server 2012

High AvailabilityAlwaysOn

Page 3: Workshop SQL Server 2012

Tecnologias para HA/DR Failover Clustering

(Nível Instância)

Database Mirroring(Nível de Banco de Dados)

Page 4: Workshop SQL Server 2012

Tecnologias para HA/DR

Log Shipping(Nível Banco de Dados)

Replicação(Nível de Banco de Dados)

Page 5: Workshop SQL Server 2012

Tecnologias para HA/DR

Snapshot de Banco de Dados

Page 6: Workshop SQL Server 2012

Definindo a Solução

Failover Clustering e Database MirroringDetecção automática de Falha e FailoverManual failoverRedirecionamento transparente do cliente

Considerações:Failover Clustering requer hardware específicoDatabase Mirroring atua no escopo de Banco de Dados

Page 7: Workshop SQL Server 2012

Cenário

7 |

1. Alta disponibilidade local (site principal) com failover automático.

A

A

2. Réplica do banco de dados em um terceiro servidor no site principal para execucão de relatórios.

3. Se o site principal cair, deve-se fazer failover para o site de contingência (DR).

5. Permitir a execução de backup no terceiro servidor do site principal.

Site Principal

Site Contingência(DR)

4. Para reduzir custo, replicação entre storage não é uma opção.

Movimentação de dados Síncrona

Movimentação de dados Assíncrona

Backups

Relatórios

A

Failover Clustering

DB Mirroring

Log Shipping

Page 8: Workshop SQL Server 2012

Alta Disponibilidade Hoje

Failover Clustering (FC) Requer uma storage compartilhada Não permite nó secundário ativo (leitura ou backup) Para disaster recovery (DR)

Requer replicação síncrona entre storages ou uma combinação de FC com Database Mirroring ou Log Shipping

8 |

Database Mirroring Failover automático: requer SNAC ou o parâmetro

FailoverPartner na string de conexão, Witness Não permite conexão dos sistemas utilizando nome virtual É possível leitura no secundário utilizando database

snapshot no mirror

Page 9: Workshop SQL Server 2012

Alta Disponibilidade hoje

Log Shipping Não permite failover automático Nós secundários offline (não permite leitura nos secundários) Failover manual no nível de banco de dados

9 |

Page 10: Workshop SQL Server 2012

SQL Server AlwaysOn

10 |

Multisite Clustering através de subnets

Política de Failover Flexível

Windows Server Core TEMPDB em disco local

Failover de múltiplos bancos de dados

Múltiplos servidores secundários

Sevidores secundários ativos Gerenciamento integrado

através de um Dashboard Suporte a nome e IP virtual

AlwaysOn Availability Groupsproteção no nível de banco de dados

AlwaysOn Failover Cluster Instancesproteção no nível de instância

Novas soluções com AlwaysOn

Page 11: Workshop SQL Server 2012

AlwaysOn Availability Groups

11 |

Availability Groups fornece alta disponibilidade e disaster recovery no nível de banco de dados combinando database mirroring e log shipping

Failover de múltiplos bancos de dados

Múltiplos secundários Total de 4 secundários 2 síncronos

1 par com failover automático 2 assíncronos

Compressão e criptografia integrada

Failover automático e manual Política de failover flexível Recuperação de páginas

automático

Servidores secundários ativos Leitura nos secundários Backup nos secundários

Redirecionamento automático da aplicação utilizando nome virtual

Configuração utilizando Wizard

Dashboard Integrado Integração com System

Center Automação via power-shell

Integração e eficiênciaFlexibilidade

Page 12: Workshop SQL Server 2012

Availability Groups - Arquitetura

12 |

Windows Server Failover Cluster (WSFC)

Sincronização de Log Sincronização de Log

InstânciaA InstânciaB InstânciaC

Primário Secundário

As instâncias do SQL Server não

são clusterizadas

Secundário

AA A

Detecção da saúde entre os nós, Coordenação do Failover, Armazenamento distribuído dos dados de configuração e status do

Availability Group Notificações distribuída das alterações

Availability Group usa WSFC para:

Page 13: Workshop SQL Server 2012

Suporte a Nome e IP Virtual

26/11/2011 | Footer Goes Here13 |

“Availability Groups Listener”: permite o failover transparente das aplicações para qualquer dos nós secundários As aplicações se conectam utilizando um IP e nome

virtual

Primário Secundário

-server VAG_RH;-catalog DB_RH

As aplicações tentam reconexão durante o failover

A conexão é reestabelecida com o novo primário assim que o failover é concluído e o nome virtual ficar online

Primário SecundárioSecundário

InstânciaA InstânciaB InstânciaC

DB_RH DB_RHDB_RH

Secundário

AG_RH

VAG_RH

Page 14: Workshop SQL Server 2012

Resumo

26/11/2011 |14 |

SQL Server AlwaysOn é uma solução de alta

disponibilidade com muito mais abrangência

Maior disponibilidade para as aplicações Maior retorno sobre o investimento Simplicidade para implementação e gerenciamento Atende a pequenos médios e grandes ambientes Baixo custo (reaproveitamento de hardware)

Maior flexibilidade e eficiência na configuração

de alta disponibilidade com AlwaysOn

Availability Group

SQL Server AlwaysOn Availability Group

Failover para múltiplos databases Multiplos servidores secundários Servidores secundários como leitura Backup nos servidores secundários Movimentação de dados Síncrona e

Assíncrona Compressão e criptografia integrados Failover automático e manual Política de failover mais flexível Reparação de páginas automático Redirecionamento automático das

aplicações usando nome e IP virtual Configuração através de Wizard AlwaysOn Dashboard Integração com System Center Automação via power-shell Rica infraestrutura de diagnósticos

Page 15: Workshop SQL Server 2012

Conteúdo Relacionado

“Denali” AlwaysOn Resource Center http://msdn.microsoft.com/en-us/sqlserver/gg490638(en-us,MSDN.10)

SQL Server® Code Name “Denali” websitewww.microsoft.com/sqlserver

Download do Denali CPT3Documentação

What's New topic for Availability Enhancements on MSDN

http://msdn.microsoft.com/en-us/library/cc645581(v=SQL.110).aspx

SQL Server Denali (CTP 3) Product Guide v1.0http://www.microsoft.com/download/en/details.aspx?id=27069

Page 16: Workshop SQL Server 2012

PerformanceColumnIndex Store

Page 17: Workshop SQL Server 2012

Projeto Apollo

Otimiza as consultas ao data warehouse Novo columnstore index Melhora a execução de consultas query execution

Fácil de Usar Reduz TCO

Page 18: Workshop SQL Server 2012

Data warehouse schemas and queries

Star schema Tabelas Fato coloque columnstore indexes aqui Tabelas Dimensão

Star joins Consultas que contém agregações de dados

Page 19: Workshop SQL Server 2012

Star schemaFactSales

DimCustomer

FactSales(CustomerKey int, ProductKey int,EmployeeKey int,StoreKey int,OrderDateKey int,SalesAmount money)

DimCustomer(CustomerKey int,FirstName nvarchar(50),LastName nvarchar(50),Birthdate date,EmailAddress nvarchar(50))

DimProduct …

DimDate

DimEmployee

DimStore

Page 20: Workshop SQL Server 2012

Star join query

SELECT TOP 10 p.ModelName, p.EnglishDescription, SUM(f.SalesAmount) as SalesAmountFROM FactResellerSalesPart f, DimProduct p, DimEmployee eWHERE f.ProductKey=p.ProductKey AND e.EmployeeKey=f.EmployeeKey AND f.OrderDateKey >= 20030601 AND p.ProductLine = 'M' -- Mountain AND p.ModelName LIKE '%Frame%' AND e.SalesTerritoryKey = 1 GROUP BY p.ModelName, p.EnglishDescriptionORDER BY SUM(f.SalesAmount) desc;

Page 21: Workshop SQL Server 2012

Estrutura

Uses VertiPaq compression

C1 C2 C3 C5 C6C4

Pages

Row store:

Column store:

Page 22: Workshop SQL Server 2012

Menos I/O usando columnstore indexes

• Busca apenas as colunas necessárias no disco

• Colunas são compactadas• Reduz IO

C1

C2

C4 C5 C6

C3

SELECT region, sum (sales) …

Page 23: Workshop SQL Server 2012

Considerações

• Tabela base deve ter um indíce clustered B-tree or heap

• Columnstore index:− nonclustered − Um por tabela− Deve ser partition-aligned− Não permitido em indexed view

Page 24: Workshop SQL Server 2012

Criando o Columnstore Index

Crie a Tabela Carregue os dados dentro da Tabela Crie um non-clustered Columnstore index em

todas, ou algumas colunasCREATE NONCLUSTERED COLUMNSTORE INDEX ncci ON myTable(OrderDate, ProductID, SaleAmount)

Object Explorer

Page 25: Workshop SQL Server 2012

Criando o Columnstore Index

Page 26: Workshop SQL Server 2012

Usando hints com columnstore indexes• Use o columnstore index

• Use um indíce diferente

• Ignore columnstore

select distinct (SalesTerritoryKey)from dbo.FactResellerSales with (index (ci))

select distinct (SalesTerritoryKey)from dbo.FactResellerSales with (index (ncci))

select distinct (SalesTerritoryKey)from dbo.FactResellerSalesoption(ignore_nonclustered_columnstore_index)

Page 27: Workshop SQL Server 2012

Novos elementos no Showplan

Page 28: Workshop SQL Server 2012

Restrições – Tipos de Dados

−Tipos não suportados− decimal > 18 digits− Binary− BLOB− (n)varchar(max)− Uniqueidentifier− Date/time types > 8 bytes− CLR

Page 29: Workshop SQL Server 2012

Carregando Novos Dados em um columnstore index

− Columnstore deixa a tabela read-only− Partition switching é permitido− INSERT, UPDATE, DELETE, and MERGE não são permitidos− Dois métodos recomendados para Carga de Dados:

Disable, update, rebuild Partition switching

Page 30: Workshop SQL Server 2012

Adicionando Dados na Tabela com

Columnstore IndexMétodo 1: Desabilitar o columnstore index

Desabilitar (ou excluir) o indíce ALTER INDEX my_index ON MyTable DISABLE

Atualize a Tabela Recontrua o Columnstore index

ALTER INDEX my_index ON MyTable REBUILD

Page 31: Workshop SQL Server 2012

Método 2: Use Particionamento

Carregue os novos dados dentro de uma staging table

Construa o columnstore index CREATE NONCLUSTERED COLUMNSTORE INDEX my_index ON

StagingT(OrderDate, ProductID, SaleAmount) Faça o Split para Partição vazia Faça o Switch da partição para dentro da tabela

ALTER TABLE StagingT SWITCH TO T PARTITION 5

Adicionando Dados na Tabela com

Columnstore Index

Page 32: Workshop SQL Server 2012

Quando criar um Columnstore index

Maior parte do Workload Read-only Workflow permite particionamento ou recriação do

índice Queries com agregações de uma grande

quantidade de dados

Page 33: Workshop SQL Server 2012

Quais tabelas devem ter Columnstore index? Tabelas Fato Grandes (Talvez) Grandes Dimensões

Page 34: Workshop SQL Server 2012

Quando não utilizar um Columnstore Index

Atualizações Frequentes na tabela Partition switching ou rebuilding index não seja

possível como parte do workflow Frequente pequenas consultas look up

Neste caso Indíce B-tree traz uma melhor performance

Page 35: Workshop SQL Server 2012

Resumo

Astonishing speedup for DW queries

Columnstore technology+

Advanced query processing

Page 36: Workshop SQL Server 2012

Business IntelligenceO que há de Novo no SSAS

Page 37: Workshop SQL Server 2012

BI Semantic Model

Client Tools Analytics, Reports, Scorecards,

Dashboards, Custom Apps

Data SourcesDatabases, LOB Applications, OData Feeds,

Spreadsheets, Text Files

BI Semantic Model

Data model

Business logic and queries

Data accessBI na

EquipePowerPivot for SharePoint

BI PessoalPowerPivot for Excel

BI CorporativoAnalysis Services

Um Modelo para todas as Experiências do Usuário final

Page 38: Workshop SQL Server 2012

BI Semantic Model - Arquitetura

Page 39: Workshop SQL Server 2012

3 Tipos de Instalação:

Multidimensional and Data Mining (default) PowerPivot for Sharepoint Tabular

Page 40: Workshop SQL Server 2012

demo

Usuário Avançado de Excel

Construindo modelos usando PowerPivot

Page 41: Workshop SQL Server 2012

demo

Profissional de TI

Restaurando Modelos no SSMS

Page 43: Workshop SQL Server 2012

BI Semantic Model - Upgrade

Page 44: Workshop SQL Server 2012

Perguntas?

• Learning Hub BI: http://technet.microsoft.com/pt-br/hh318524

• Learning Hub Banco de Dados: http://technet.microsoft.com/pt-br/hh210186

• Blog: http://vivianeribeiro1.wordpress.com• Twitter: @viviane_sql

50 |

Page 45: Workshop SQL Server 2012

© 2011 Microsoft Corporation. Todos os direitos reservados.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.