O documento resume as principais novidades do SQL Server 2016, incluindo melhorias no ColumnStore, In-Memory OLTP, Query Store, Temporal Tables, Always Encrypted, Stretch Database e outras funcionalidades. Ele também fornece detalhes sobre como testar as novas funcionalidades e links para obter mais informações.
3. O QUEVAMOSVER:
NOVIDADES – SQL 2016
ColumnStore
In-Memory OLTP
Query Store
TemporalTables
Always Encrypted
Stretch Database
Live Query Statistics
Dynamic Data Masking
4. O QUE NÃOVAMOSVER
Reporting Services
Analysis Services
Integration Services
Acompanhe os CTPs (atual CTP 3.3)
Mais informações:
https://www.microsoft.com/pt-br/evalcenter/evaluate-sql-server-2016
http://bit.ly/sql2016-whats-new
http://bit.ly/1SQ6kYd
5. COMOTESTAR O SQL 2016?
AzureTrial
Download ISO 180 dias
Assinante MSDN? Grátis para
testes
Vários previews disponíveis.
Porquê não?
6. COLUMNSTORE IMPROVEMENTS
Armazena dados de colunas ao invés de linhas
nas páginas de dados
Altamente compactado
AltaVelocidade
Whitepaper:
http://bit.ly/sql2016-columnstore
7. Columnstore Index Feature
SQL 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 yes
1
yes
1
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
8. IN MEMORY OLTP MELHORADO
• Tamanho máximo para uma tabela in memory passa de 256MB para 2TB
• Não há mais a obrigatoriedade de ter Collations BIN2 (mas não tem tanta performance)
• ALTERTABLE pode ser utilizado em in memory-optimized tables para adicionar,
remover ou alterar colunas ou índices.
• ALTER PROCEDURE pode ser utilizado em stored procedures compiladas nativamente
• Stored procedures compiladas nativamente agora permitem sintaxes mais complexas
(LEFT/RIGHT JOIN, SELECT DISTINCT, Subqueries, UNION/UNION ALL, all math
functions)
• Limitação deTDE não existe mais
• Réplicas AlwaysOn vêem mudanças imediatamente.
• Garbage collection melhorado
12. QUERY STORE
Problemas ao resolver problemas de
performance
Plan cache não é totalmente adequado
(Somente o plano atual é mantido)
Tempo gasto para descobrir o problema é
longo
Tempo para solucionar o problema é longo
(Modifico a query? Plan guide?)
Flight Data Recorder (Caixa Preta do SQL) –
Coleta texto e propriedades importantes de
cada query executada.
Funciona com restarts/upgrades/recompiles
do SQL
Usuário escolhe o tempo de dados
armazenados
Possibilidade de forçar o plano de execução
escolhido de forma simples
13. TEMPORALTABLES
Capacidade de acompanhar as
modificações nos dados com o
passar do tempo
Não muda nada para as
aplicações
15. ALWAYS ENCRYPTED
Dados sempre
criptografados
Melhor queTDE porque
estão criptografados mesmo
para sysadmins
Usuários não autorizados
nunca tem acesso aos dados
ou às chaves
Transparente para as
aplicações
Requer .Net 4.6!
Source (MSDN Blog):
http://bit.ly/sql2016-always-
encrypted-walkthru
16. COMO FUNCIONA
SQL Server or SQL Database
ADO .NET
4.6 Result SetResult Set
Client
dbo.Customers
Criptografado
"SELECT Name FROM Customers WHERE SSN = @SSN",
"111-22-3333"
trust boundary
"SELECT Name FROM Customers WHERE SSN = @SSN",
0x7ff654ae6d
Criptografado
17. STRETCH DATABASE
Tabelas OLTP
“esticadas” do
ambiente on-
premises para Azure
Custo vantajoso para
dados históricos
Tabela ativa e
disponível
Transparente para
aplicações
Queries não mudam.
O SQL combina
dados locais e dados
na nuvem.
18. LIVE QUERY STATISTICS
Coleta de métricas em tempo
de execução
Uso de CPU/Memória, tempo,
progresso da query
Identificação de gargalos de
performance
Permite drilldown nas
estatísticas
Número de linhas
Tempo decorrido
Progresso
Alertas
19. DYNAMIC DATA MASKING
Proteção efetiva para dados sensíveis na
camada de aplicação. Não protege
dados para admins ou para usuários
com direito de SELECT
Configuração simplificada
Baseado em políticas em nível de tabela
e colunas para um grupo definido de
usuários
Mascaramento de dados aplicado em
tempo real para os resultados das
queries.
20. FOR JSON (JAVA SCRIPT OBJECT NOTATION)
Formato popular usado
para troca de dados
entre aplicações
Também utilizado para
armazenamento de
dados não-
estruturados em bases
NoSQL como o
Microsoft Azure
DocumentDB
Exemplo de Pedidos – Hot/Warm
Clientes querem fazer Análise sobre os dados operacionais (OLTP)
Atualmente é feito um ETL para um DW e a análise é feita com esses dados. Entretanto, clientes querem mais, querem fazer análise imediata. Se fizer ETL e análise com menor tempo pode causar problemas de performance na base OLTP. Operational Analytics permite criar um NCCI e separar dados hot/warm baseado em um (critério) predicado permitindo grande performance mesmo em bases OLTP.
Melhor dos dois mundos: OLTP continua com excelente performance vendendo para a empresa e o Operational Analytics para análises de vendas mas com muito mais velocidade, porque são dados quase real-time. Porque esperar pelo ETL e processamento se eu posso analisar dados em quase real-time?
Exemplo de Pedidos – Hot/Warm
Clientes querem fazer Análise sobre os dados operacionais (OLTP)
Atualmente é feito um ETL para um DW e a análise é feita com esses dados atrasados. Entretanto, clientes querem mais, querem fazer análise imediata. Pode fazer ETL e análise com menor tempo, mas isso pode causar problemas de performance na base OLTP. Operational Analytics permite criar um NCCI e separar dados hot/warm baseado em um (critério) predicado permitindo grande performance mesmo em bases OLTP.
Melhor dos dois mundos: OLTP continua com excelente performance vendendo para a empresa e o Operational Analytics para análises de vendas mas com muito mais velocidade para o negócio, porque são dados quase real-time. Porque esperar pelo ETL e processamento se eu posso analisar dados em quase real-time?
Armazena todas as informações relacionado a objetos acessados pela base (SP, triggers, queries, fucntions) Cada plano criado é armazenado juntamente com as estatísticas de compilação. Performance metrics são calculadas e armazenadas.