novidades do sql server 2016
TRANSCRIPT
SQL 2016 – NOVIDADES
O QUE VAMOS VER:NOVIDADES – SQL 2016
ColumnStore In-Memory OLTP Query StoreTemporal TablesAlways EncryptedStretch DatabaseLive Query StatisticsDynamic Data Masking
O QUE NÃO VAMOS VER 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-2016http://bit.ly/sql2016-whats-newhttp://bit.ly/1SQ6kYd
COMO TESTAR O SQL 2016? Azure Trial Download ISO 180 dias Assinante MSDN? Grátis
para testes Vários previews disponíveis. Porquê não?
COLUMNSTORE IMPROVEMENTS
Armazena dados de colunas ao invés de linhas nas páginas de dadosAltamente compactadoAlta VelocidadeWhitepaper:http://bit.ly/sql2016-columnstore
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 yesBatch execution for single-threaded queries yes yesArchival compression option. yes yes yesSnapshot isolation and read-committed snapshot isolation yes yes
Specify columnstore index when creating a table. yes yes
AlwaysOn supports columnstore indexes. yes yes yes yesAlwaysOn 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 yes1 yes1
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 yesBtree 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
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)• ALTER TABLE 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 de TDE não existe mais• Réplicas AlwaysOn vêem mudanças imediatamente.• Garbage collection melhorado
IN MEMORY OLTP
Whitepaper:http://bit.ly/sql2016-in-memory-oltpAaron Bertrand Blog:http://sqlperformance.com/2015/05/sql-server-2016/in-memory-oltp-enhancements
COLUMNSTORE + IN MEMORY OLTP= OPERATIONAL ANALYTICS
Índices In-memory, atualizáveis, non-clustered columnstore sobre tabelas in-memory ou em disco
Transparente para aplicações Minimiza impacto nas bases OLTP Learn more: Sunil Agarwal on Data Exposed:https://channel9.msdn.com/Shows/Data-Exposed/SQL-Server-2016-Operational-Analytics
Sunil’s Ignite 2015 Presentation:http://channel9.msdn.com/Events/Ignite/2015/BRK4552
OPERATIONAL ANALYTICS
Índice Btree
Tabela HOT
NCCIatualizável
Dados HOTDados WARM
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
TEMPORAL TABLES Capacidade de
acompanhar as modificações nos dados com o passar do tempo
Não muda nada para as aplicações
TEMPORAL TABLES
ALWAYS ENCRYPTED Dados sempre
criptografados Melhor que TDE 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
COMO FUNCIONA
SQL Server or SQL Database
ADO .NET4.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
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.
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
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.
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
PERGUNTAS?
Roberto [email protected]://rffonseca.wordpress.com