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.