OLTP in-memory e otimização de memóriaIn-Memory OLTP and Memory-Optimization

APLICA-SE A: simSQL Server simBanco de Dados SQL do Azure nãoAzure Synapse Analytics (SQL DW) nãoParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

OOLTP na memóriaIn-Memory OLTP pode melhorar significativamente o desempenho de processamento de transações, inclusão de dados e carregamento de dados, e cenários de dados temporário.OLTP na memóriaIn-Memory OLTP can significantly improve the performance of transaction processing, data ingestion and data load, and transient data scenarios. Para ir diretamente para o código básico e o conhecimento necessário para testar rapidamente sua própria tabela com otimização de memória e o procedimento armazenado nativamente, vejaTo jump into the basic code and knowledge you need to quickly test your own memory-optimized table and natively compiled stored procedure, see

Carregamos no YouTube um vídeo de 17 minutos explicando o OLTP in-memory no SQL Server e demonstrando os benefícios de desempenho.We have uploaded to YouTube a 17-minute video explaining In-Memory OLTP on SQL Server, and demonstrating the performance benefits.

Para obter uma visão geral mais detalhada do OLTP in-memory e uma análise de cenários que desfrutam dos benefícios de desempenho da tecnologia:For a more detailed overview of In-Memory OLTP and a review of scenarios that see performance benefits from the technology:

Observe que OLTP na memóriaIn-Memory OLTP é a tecnologia do SQL ServerSQL Server para melhoria de desempenho do processamento de transações.Note that OLTP na memóriaIn-Memory OLTP is the SQL ServerSQL Server technology for improving performance of transaction processing. Para obter a tecnologia do SQL ServerSQL Server que melhora o desempenho de consulta de relatório e analítica, veja Guia de índices columnstore.For the SQL ServerSQL Server technology that improves reporting and analytical query performance see Columnstore Indexes Guide.

Várias melhorias foram feitas no OLTP in-memory do SQL Server 2016 (13.x)SQL Server 2016 (13.x) e do SQL Server 2017 (14.x)SQL Server 2017 (14.x), bem como do Banco de dados SQL do AzureAzure SQL Database.Several improvements have been made to In-Memory OLTP in SQL Server 2016 (13.x)SQL Server 2016 (13.x) and SQL Server 2017 (14.x)SQL Server 2017 (14.x), as well as in Banco de dados SQL do AzureAzure SQL Database. A área de superfície do Transact-SQL foi aumentada para facilitar a migração de aplicativos de banco de dados.The Transact-SQL surface area has been increased to make it easier to migrate database applications. O suporte para operações de ALTER para tabelas com otimização de memória e procedimentos armazenados compilados nativamente foi adicionado para facilitar a manutenção de aplicativos.Support for performing ALTER operations for memory-optimized tables and natively compiled stored procedures has been added, to make it easier to maintain applications.

Observação

ExperimenteTry it out

O OLTP in-memory está disponível nas camadas Premium e Comercialmente Crítica de bancos de dados SQL do Azure e em pools elásticos.In-Memory OLTP is available in Premium and Business Critical tier Azure SQL databases and elastic pools. Para começar a usar o OLTP in-memory, bem como o Columnstore no Banco de Dados SQL do Azure, veja Otimizar o desempenho usando tecnologias in-memory no Banco de Dados SQL.To get started with In-Memory OLTP, as well as Columnstore in Azure SQL Database, see Optimize Performance using In-Memory Technologies in SQL Database.

Nesta seçãoIn this section

Esta seção inclui os seguintes tópicos:This section provides includes the following topics:

TópicoTopic DescriçãoDescription
Início rápido 1: tecnologias do OLTP in-memory para um desempenho mais rápido do Transact-SQLQuick Start 1: In-Memory OLTP Technologies for Faster Transact-SQL Performance Delve diretamente no OLTP in-memoryDelve right into In-Memory OLTP
Visão geral e cenários de usoOverview and Usage Scenarios Visão geral do que é o OLTP in-memory e quais são os cenários que desfrutam dos benefícios de desempenho.Overview of what In-Memory OLTP is, and what are the scenarios that see performance benefits.
Requisitos para usar tabelas com otimização de memóriaRequirements for Using Memory-Optimized Tables Aborda os requisitos de hardware e software, e as diretrizes para usar tabelas com otimização de memória.Discusses hardware and software requirements and guidelines for using memory-optimized tables.
Exemplos de código do OLTP in-memoryIn-Memory OLTP Code Samples Contém exemplos de código que mostram como criar e usar uma tabela com otimização de memória.Contains code samples that show how to create and use a memory-optimized table.
Memory-Optimized TablesMemory-Optimized Tables Apresenta tabelas com otimização de memória.Introduces memory-optimized tables.
Variáveis de tabela com otimização de memóriaMemory-Optimized Table Variables 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.Code example showing how to use a memory-optimized table variable instead of a traditional table variable to reduce tempdb use.
Índices em tabelas com otimização de memóriaIndexes on Memory-Optimized Tables Incorpora índices com otimização de memória.Introduces memory-optimized indexes.
Procedimentos armazenados compilados nativamenteNatively Compiled Stored Procedures Apresenta procedimentos armazenados compilados de modo nativo.Introduces natively compiled stored procedures.
Gerenciando memória para OLTP in-memoryManaging Memory for In-Memory OLTP Compreendendo e gerenciando o uso de memória no sistema.Understanding and managing memory usage on your system.
Criando e gerenciando armazenamento para objetos com otimização de memóriaCreating and Managing Storage for Memory-Optimized Objects A aborda os arquivos delta e de dados, que armazenam informações sobre transações em tabelas com otimização de memória.Discusses data and delta files, which store information about transactions in memory-optimized tables.
Backup, restauração e recuperação de tabelas com otimização de memóriaBackup, Restore, and Recovery of Memory-Optimized Tables Discute backup, restauração e recuperação de tabelas com otimização de memória.Discusses backup, restore, and recovery for memory-optimized tables.
Suporte ao Transact-SQL para OLTP in-memoryTransact-SQL Support for In-Memory OLTP Discute o suporte do Transact-SQLTransact-SQL para OLTP na memóriaIn-Memory OLTP.Discusses Transact-SQLTransact-SQL support for OLTP na memóriaIn-Memory OLTP.
Suporte de alta disponibilidade para bancos de dados do OLTP in-memoryHigh Availability Support for In-Memory OLTP databases Discute grupos de disponibilidade e clustering de failover no OLTP na memóriaIn-Memory OLTP.Discusses availability groups and failover clustering in OLTP na memóriaIn-Memory OLTP.
Suporte ao SQL Server para OLTP in-memorySQL Server Support for In-Memory OLTP Lista a sintaxe nova e atualizada, e os recursos que oferecem suporte a tabelas com otimização de memória.Lists new and updated syntax and features supporting memory-optimized tables.
Migrando para o OLTP in-memoryMigrating to In-Memory OLTP Aborda como migrar tabelas baseadas em disco para tabelas com otimização de memória.Discusses how to migrate disk-based tables to memory-optimized tables.
   

Esta seção fornece links para outros sites que contêm informações sobre OLTP in-memory no SQL Server.This section provides links to other websites that contain information about In-Memory OLTP on SQL Server.

vídeo de 17 minutos, indexado17 minute video, indexed

  • Título do vídeo: OLTP in-memory no SQL Server 2016Video title: In-Memory OLTP in SQL Server 2016
  • Data de publicação: 10-03-2019Published date: 2019-03-10
  • Duração: 17:32Duration: 17:32
  • Hospedado por: Jos de Bruijn, Gerente de Programas Sênior no SQL ServerHosted by: Jos de Bruijn, Senior Program Manager on SQL Server

A demonstração pode ser baixadaDemo can be downloaded

Na marcação de tempo 08:09, o vídeo executa uma demonstração duas vezes.At the time mark 08:09, the video runs a demonstration twice. Você pode baixar a demonstração de desempenho executável usada no vídeo no seguinte link:You can download the runnable performance demo that is used in the video, from the following link:

As etapas gerais vistas no vídeo são as seguintes:The general steps seen in the video are as follows:

  1. Primeiro, a demonstração é executada com uma tabela normal.First the demo is run with a regular table.
  2. Em seguida, vemos uma edição com otimização de memória da tabela ser criada e populada usando alguns cliques no SQL Server Management Studio (SSMS.exe).Next we see a memory-optimized edition of the table being created and populated by a few clicks in SQL Server Management Studio (SSMS.exe).
  3. Em seguida, a demonstração é executada novamente com a tabela com otimização de memória.Then the demo is rerun with the memory-optimized table. Uma enorme melhoria na velocidade é medida.An enormous speed improvement is measured.

Índice para cada seção no vídeoIndex to each section in the video

Link da marca de tempoTime mark link Título da seçãoSection title
A.  00:00A.  00:00 O início.The beginning.

B.  00:56B.  00:56

Por que os clientes devem se importar com o OLTP in-memory.Why customers should care about In-Memory OLTP.
    01:03    01:03 O hardware moderno requer uma arquitetura moderna de sistema de banco de dados.Modern hardware requires modern architecture of database system.
    02:10    02:10 Explosão nos dados gerados; as operações precisam ser instantâneas (baixa latência).Explosion in data being generated; operations need to be instant (low latency).
    03:19    03:19 Redução do TCO – fazer mais com os recursos que você tem.Reduce TCO - do more with the resources you have.

C.  03:33C.  03:33

O que é OLTP in-memory.What In-Memory OLTP is.
Desempenho otimizado usando tecnologia com otimização de memória.Performance optimized using memory-optimized technology.
    05:03    05:03 Processamento de transações até 30 vezes mais rápido.Up to 30X faster transaction processing.
    05:22    05:22 Os dados são totalmente duráveis; sobrevivem a falhas do servidor.Fully durable - data survives server failures.
    06:15    06:15 Totalmente integrado ao SQL Server.Fully integrated in SQL Server. Portanto, não há novas linguagens ou ferramentas para aprender.Thus no new languages or tools to learn.
    07:22    07:22 Lançado pela primeira vez no SQL Server 2014, mas com grandes melhorias em 2016.First released in SQL Server 2014, but major improvements in 2016.
    07:58    07:58 Disponível também no Banco de Dados SQL do Azure (na nuvem).Available in Azure SQL Database too (in the cloud).

D.  08:09D.  08:09

Demonstração de desempenho.Performance demonstration.
Executar a demonstração com uma tabela normal.Run the demo with a regular table.
    09:11    09:11 Menu de contexto do SSMS: Relatórios > Análise de desempenho da transaçãoSSMS context menu: Reports > Transaction Performance Analysis
    10:38    10:38 Menu de contexto do SSMS: Orientador de otimização da memóriaSSMS context menu: Memory Optimization Advisor
    De fato criar uma tabela com otimização de memória usando uma tabela normal, além de migrar os dados.    Actually create a memory-optimized table from a regular table, plus migrate the data.
    11:28    11:28 Executar a demonstração novamente, observar melhoria de 45 vezes na velocidade.Rerun the demo, see 45X speed improvement.

E.  12:17E.  12:17

É mais fácil usar o OLTP in-memory no SQL Server 2016 (em comparação com o 2014).Easier to use In-Memory OLTP in SQL Server 2016 (compared to 2014).
    12:43    12:43 Análise simplificada para ajudar na migração do aplicativo.Simplified analysis to help with app migration.
    13:03    13:03 Redução da complexidade da migração de aplicativos por meio do aumento do suporte à linguagem Transact-SQL (por exemplo, com chaves estrangeiras e gatilhos).Reduced complexity of app migration through increased Transact-SQL language support (for example, with foreign keys and triggers).
    13:56    13:56 Melhor capacidade de gerenciamento.Improved manageability.
    Por exemplo, alterar esquema e índices, atualização automática de estatísticas.    For example, change schema and indexes, auto-update of statistics.

F.  14:46F.  14:46

Melhor escalabilidade.Improved scalability.
    15:12    15:12 Grandes tabelas com otimização de memória (até 2 TB por banco de dados).Large memory-optimized tables (up to 2TB per database).
    15:34    15:34 Dimensionamento ainda melhor.Even better scaling.
    16:41    16:41 Faça mais com os recursos que você já tem!Do more with the resources you already have!

G.  16:53G.  16:53

Comentários finais.Final comments. (Termina em 17:32.)(Ends at 17:32.)
   

Confira tambémSee also

Recursos de banco de dadosDatabase Features