Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido manualmente. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

OLTP na memória (otimização na memória)

SQL Server 2014

Novo no SQL Server 2014, o OLTP na memória pode melhorar significativamente o desempenho do aplicativo de banco de dados OLTP. O OLTP na memória é um mecanismo de banco de dados com otimização de memória integrado ao mecanismo do SQL Server, otimizado para OLTP.

Para usar o OLTP na memória, é preciso definir uma tabela muito acessada como memória otimizada. As tabelas com otimização de memória são totalmente transacionais, duráveis e acessados usando o Transact-SQL da mesma forma como ocorre com as tabelas baseadas em disco. Uma consulta pode fazer referência a tabelas com otimização de memória e tabelas baseadas em disco. Uma transação pode atualizar dados tanto nas tabelas com otimização de memória quanto as baseadas em disco. Os procedimentos armazenados que só fazem referência a tabelas com otimização de memória podem ser compilados nativamente em código de computador para mais melhorias de desempenho. O mecanismo do OLTP na memória é projetado para simultaneidade de sessão extremamente elevada para tipo de transações OLTP acionadas de uma camada intermediária altamente escalada. Para isso, ele usa estruturas de dados livre de travas e controle de simultaneidade otimista de diversas versões. O resultado é uma baixa latência previsível de menos de um milissegundo e alta taxa de transferência com escala linear para transações de banco de dados. O ganho de desempenho real depende de muitos fatores, mas é comum uma melhoria de 5 a 20 vezes no desempenho.

A tabela a seguir resume os padrões de carga de trabalho que podem se beneficiar mais usando o OLTP na memória:

Cenário de Implementação

Cenário de Implementação

Benefícios do OLTP na memória

Taxa de inserção de dados alta de várias conexões simultâneas.

Basicamente armazenamento somente de acréscimo.

Não é possível continuar com a inserção de carga de trabalho.

Eliminar a contenção.

Reduzir registros de log.

Desempenho de leitura e escala com inserções e atualizações em lote periódicas.

Operações de leitura de alto desempenho, especialmente quando cada solicitação de servidor tem várias operações de leitura para executar.

Incapaz de atender aos requisitos de aumento de escala.

Eliminar contenção quando novos dados chegam.

Recuperação de dados de latência mais baixa.

Minimizar o tempo de execução do código.

Processamento de lógica de negócios intensivo no servidor de banco de dados.

Inserir, atualizar e excluir carga de trabalho.

Computação intensiva dentro de procedimentos armazenados.

Contenção de leitura e gravação.

Eliminar a contenção.

Minimizar o tempo de execução de código para uma latência reduzida e maior taxa de transferência.

Baixa latência.

Exigir transações comerciais de baixa latência que as soluções típicas de banco de dados não podem realizar.

Eliminar a contenção.

Minimizar o tempo de execução do código.

Execução de código de baixa latência.

Recuperação eficaz de dados.

Gerenciamento do estado da sessão.

Inserção, atualização e pesquisas de pontos frequentes.

Carga de alta escala a partir de inúmeros servidores web sem monitoração de estado.

Eliminar a contenção.

Recuperação eficaz de dados.

Redução ou remoção opcional de E/S ao usar tabelas não duráveis

Para mais informações sobre cenários em que o OLTP na memória resultará em maiores ganhos de desempenho, consulte OLTP na memória – Padrões comuns de carga de trabalho e considerações de migração.

O OLTP na memória aumentará mais o desempenho no OLTP com transações de curta execução.

Os padrões de programação que o OLTP na memória melhorará incluem cenários de simultaneidade, pesquisas de pontos, cargas de trabalho em que há muitas inserções e atualizações e lógica de negócios em procedimentos armazenados.

A integração com o SQL Server significa que você pode ter tanto tabelas com otimização de memória quanto tabelas baseadas em disco no mesmo banco de dados e consultar ambos os tipos de tabela.

No SQL Server 2014 há limitações na área da superfície do Transact-SQL com suporte para OLTP na memória.

O OLTP na memória obtém ganhos significativos de desempenho e escalabilidade ao usar:

  • Algoritmos otimizados para acessar dados residentes em memória.

  • Controle de simultaneidade otimista que elimina bloqueios lógicos.

  • Objetos livres de bloqueio que eliminam todas as travas e bloqueios físicos. Os threads que executam trabalho transacional não usam bloqueios ou travas para controle de simultaneidade.

  • Procedimentos armazenados compilados nativamente, os quais têm um desempenho significativamente melhor do que os procedimentos armazenados interpretados, ao acessar uma tabela com otimização de memória.

Observação importante Importante

Algumas alterações de sintaxe em tabelas e procedimentos armazenados serão exigidas para usar o OLTP na memória. Para obter mais informações, consulte Migrando para OLTP na memória. Antes de tentar migrar uma tabela baseada em disco para uma tabela com otimização de memória, leia Determinando se uma tabela ou um procedimento armazenado deve ser movido para o OLTP na memória para verificar quais tabelas e procedimentos armazenados se beneficiarão do OLTP na memória.

Esta seção fornece informações sobre os seguintes conceitos:

Tópico

Descrição

Requisitos para usar tabelas com otimização de memória

Aborda os requisitos de hardware e software, e as diretrizes para usar tabelas com otimização de memória.

Usando OLTP na memória em um ambiente de máquina virtual

Abrange o uso do OLTP na memória em um ambiente virtualizado.

Exemplos de código de OLTP na memória

Contém exemplos de código que mostram como criar e usar uma tabela com otimização de memória.

Tabelas com otimização de memória

Apresenta tabelas com otimização de memória.

Variáveis de tabela com otimização de memória

Exemplo de código mostrando como usar uma variável de tabela com otimização de memória em vez de uma variável de tabela tradicional para reduzir o uso de tempdb.

Índices em tabelas com otimização de memória

Incorpora índices com otimização de memória.

Procedimentos armazenados compilados nativamente

Apresenta procedimentos armazenados compilados de modo nativo.

Gerenciando memória para OLTP na memória

Compreendendo e gerenciando o uso de memória no sistema.

Criando e gerenciando armazenamento para objetos com otimização de memória

A aborda os arquivos delta e de dados, que armazenam informações sobre transações em tabelas com otimização de memória.

Backup, restauração e recuperação de tabelas com otimização de memória

Discute backup, restauração e recuperação de tabelas com otimização de memória.

Suporte ao Transact-SQL para OLTP na memória

Discute o suporte do Transact-SQL para OLTP na memória.

High Availability Support for In-Memory OLTP databases

Discute grupos de disponibilidade e clustering de failover no OLTP na memória.

Suporte ao SQL Server para OLTP na memória

Lista a sintaxe nova e atualizada, e os recursos que oferecem suporte a tabelas com otimização de memória.

Migrando para OLTP na memória

Aborda como migrar tabelas baseadas em disco para tabelas com otimização de memória.

Mais informações sobre o OLTP na memória estão disponíveis em:

Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2015 Microsoft