Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

SQL Server 2016:aprimoramentos de OLTP na memória

Atualização:30 de novembro de 2015


A equipe do SQL Server publicou uma postagem no blog com algumas novas funcionalidades para OLTP na memória no CTP 3.1:
  • O SQL Server 2016 Community Technology Preview 3.1 está disponível

Atualização:17 de novembro de 2015
Jos de Bruijn postou uma lista atualizada de alterações de OLTP na memória a partir do CTP 3.0:
  • OLTP na memória – o que há de novo no SQL2016 CTP3

Publiquei anteriormente sobre as alterações nos grupos de disponibilidade no SQL Server 2016, sobre as quais aprendi no MS Ignite em grande parte em uma sessão de Joey D'Antoni e Denny Cherry. Outra grande sessão foi de Kevin Farlee e Sunil Agarwal sobre as mudanças reservadas para o OLTP In-Memory (o recurso anteriormente conhecido como "Hekaton"). Uma observação interessante:o vídeo desta sessão mostra uma demonstração em que Kevin está executando o CTP2.0 (build 13.0.200) – embora provavelmente não seja a versão que veremos publicamente neste verão.
Recurso/Limite SQL Server 2014 SQL Server 2016
Tamanho máximo combinado de tabelas duráveis 256 GB 2 TB
LOB (varbinary(max), [n]varchar(max)) Não suportado Suportado*
Criptografia de dados transparente (TDE) Não suportado Suportado
Threads de ponto de verificação off-line 1 1 por contêiner
ALTERAR PROCEDIMENTO / sp_recompile Não suportado Suportado (totalmente online)
Chamadas de procedimento nativo aninhadas Não suportado Suportado
UDFs escalares compilados nativamente Não suportado Suportado
ALTER TABELA Não suportado
(DROP / re-CREATE)
Parcialmente suportado
(offline – detalhes abaixo)
Acionadores de DML Não suportado Parcialmente suportado
(APÓS, compilado nativamente)
Índices em colunas NULLable Não suportado Suportado
Agrupamentos não BIN2 em colunas de chave de índice Não suportado Suportado
Páginas de código não latinas para [var]colunas char Não suportado Suportado
Comparação/classificação não-BIN2 em módulos nativos Não suportado Suportado
Chaves estrangeiras Não suportado Suportado
Restrições de verificação/únicas Não suportado Suportado
Paralelismo Não suportado Suportado
OUTER JOIN, OR, NOT, UNION [ALL], DISTINCT, EXISTS, IN Não suportado Suportado
Vários conjuntos de resultados ativos (MARS)
(significa melhor suporte ao Entity Framework.)
Não suportado Suportado
Designer de Tabela SSMS Não suportado Suportado

* O suporte LOB não estará disponível no envio CTP neste verão.

ALTER TABLE é uma operação offline e dará suporte à adição/descarte de colunas, índices e restrições. Haverá novas extensões de sintaxe para dar suporte a algumas dessas ações. Você pode alterar seus valores de contagem de buckets com uma reconstrução simples (no entanto, observe que qualquer reconstrução exigirá 2X de memória):
ALTER TABLE dbo.InMemoryTable
  ALTER INDEX IX_NC_Hash 
  REBUILD WITH (BUCKET_COUNT = 1048576);

Além desses aprimoramentos de capacidade/recurso, há também alguns aprimoramentos de desempenho adicionais. Por exemplo, haverá a capacidade de adicionar um índice columnstore na memória, atualizável e não clusterizado em tabelas baseadas em disco ou na memória. E eles simplificaram a maneira como as linhas excluídas são processadas (em 2014, essas operações usam FileStream; em 2016, eles pularão esta etapa). Também houve melhorias nos consultores de migração e no analisador de melhores práticas – agora eles são mais leves na coleta de dados e fornecem mais contexto sobre a complexidade da migração.

Ainda existem algumas limitações com algumas dessas mudanças. A TDE, por exemplo, requer etapas adicionais ao atualizar um banco de dados. Mas está claro que, à medida que o OLTP In-Memory fica mais maduro, eles estão eliminando muitos dos maiores obstáculos à adoção.

Mas espere, tem mais! Se você quiser usar o OLTP na memória no banco de dados SQL do Azure, haverá uma visualização pública com suporte completo neste verão. Portanto, você não precisará de seu próprio servidor físico com 2 TB de memória para levar esse recurso ao limite. No entanto, não espere nenhum vazamento desse recurso na Standard Edition.