Выполняющаяся в памяти OLTP и оптимизация памятиIn-Memory OLTP and Memory-Optimization

Применимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL DatabaseПрименимо к:Applies to: даSQL ServerSQL Server (все поддерживаемые версии) yesSQL ServerSQL Server (all supported versions) ДаБаза данных SQL AzureAzure SQL DatabaseYesБаза данных SQL AzureAzure SQL Database

Выполняющаяся в памяти OLTPIn-Memory OLTP может значительно улучшить производительность обработки транзакций, приема и загрузки данных, а также оптимизировать сценарии с использованием временных данных.can significantly improve the performance of transaction processing, data ingestion and data load, and transient data scenarios. Базовый код и сведения, необходимые для быстрого тестирования вашей собственной оптимизированной для памяти таблицы и скомпилированной в собственном коде хранимой процедуры, см. в статье:To jump into the basic code and knowledge you need to quickly test your own memory-optimized table and natively compiled stored procedure, see

На YouTube доступен 17-минутный видеоролик, поясняющий выполняемую в памяти OLTP в SQL Server и демонстрирующий преимущества с точки зрения производительности.We have uploaded to YouTube a 17-minute video explaining In-Memory OLTP on SQL Server, and demonstrating the performance benefits.

Дополнительные сведения о выполняющейся в памяти OLTP и обзор сценариев, в которых эта технология может значительно улучшать производительность:For a more detailed overview of In-Memory OLTP and a review of scenarios that see performance benefits from the technology:

Обратите внимание на то, что Выполняющаяся в памяти OLTPIn-Memory OLTP представляет собой технологию SQL ServerSQL Server для повышения производительности при обработке транзакций.Note that Выполняющаяся в памяти OLTPIn-Memory OLTP is the SQL ServerSQL Server technology for improving performance of transaction processing. Сведения о технологии SQL ServerSQL Server , повышающей производительность при обработке отчетов и аналитических запросов, см. в статье Руководство по индексам columnstore.For the SQL ServerSQL Server technology that improves reporting and analytical query performance see Columnstore Indexes Guide.

В SQL Server 2016 (13.x);SQL Server 2016 (13.x) и SQL Server 2017 (14.x);SQL Server 2017 (14.x), а также в База данных SQL AzureAzure SQL Database для выполняющейся в памяти OLTP было внесено несколько улучшений.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 База данных SQL AzureAzure SQL Database. Контактная зона Transact-SQL увеличена для облегчения переноса приложений баз данных.The Transact-SQL surface area has been increased to make it easier to migrate database applications. Добавлена поддержка выполнения операций ALTER для оптимизированных для памяти таблиц и скомпилированных в собственном коде хранимых процедур, чтобы упростить обслуживание приложений.Support for performing ALTER operations for memory-optimized tables and natively compiled stored procedures has been added, to make it easier to maintain applications.

Примечание

Попробуйте продуктTry it out

Выполняющаяся в памяти OLTP доступна для эластичных пулов и баз данных SQL Azure уровня "Премиум" и "Критически важный для бизнеса".In-Memory OLTP is available in Premium and Business Critical tier Azure SQL databases and elastic pools. Сведения о том, как приступить к работе с выполняющейся в памяти OLTP и индексами columnstore в Базе данных SQL Azure, см. в статье Приступая к работе с In-Memory (в режиме предварительной версии) в базе данных 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.

В этом разделеIn this section

Здесь приведен список статей с описанием.This section provides includes the following topics:

РазделTopic ОписаниеDescription
Краткое руководство 1. Технологии выполнения OLTP в памяти для повышения производительности службы Transact-SQLQuick Start 1: In-Memory OLTP Technologies for Faster Transact-SQL Performance Подробные сведения о выполняющейся в памяти OLTP.Delve right into In-Memory OLTP
Общие сведения и сценарии использованияOverview and Usage Scenarios Общие сведения о выполняющейся в памяти OLTP и сценарии, в которых эта технология может улучшать производительность.Overview of what In-Memory OLTP is, and what are the scenarios that see performance benefits.
Требования для использования таблиц, оптимизированных для памятиRequirements for Using Memory-Optimized Tables Перечисляются требования к программному обеспечению и оборудованию, а также рекомендации по использованию оптимизированных для памяти таблиц.Discusses hardware and software requirements and guidelines for using memory-optimized tables.
Примеры кода In-Memory OLTPIn-Memory OLTP Code Samples Содержит образцы кода, которые показывают, как создавать и использовать оптимизированные для памяти таблицы.Contains code samples that show how to create and use a memory-optimized table.
Таблицы, оптимизированные для памятиMemory-Optimized Tables Дает вводное описание таблиц, оптимизированных для памяти.Introduces memory-optimized tables.
Основные сведения о табличных переменных, оптимизированных для памятиMemory-Optimized Table Variables Пример кода, показывающий, как использовать переменную оптимизированной для памяти таблицы вместо традиционной табличной переменной для уменьшения использования базы данных tempdb.Code example showing how to use a memory-optimized table variable instead of a traditional table variable to reduce tempdb use.
Индексы для оптимизированных для памяти таблицIndexes on Memory-Optimized Tables Содержит базовое описание индексов, оптимизированных для памяти.Introduces memory-optimized indexes.
Скомпилированные в собственном коде хранимые процедурыNatively Compiled Stored Procedures Содержит базовое описание хранимых процедур, скомпилированных в собственном коде.Introduces natively compiled stored procedures.
Управление памятью для компонента "Выполняющаяся в памяти OLTP"Managing Memory for In-Memory OLTP Основные сведения об управлении памятью системы.Understanding and managing memory usage on your system.
Создание и управление хранилищем для оптимизированных для памяти объектовCreating and Managing Storage for Memory-Optimized Objects Описывает файлы данных и разностные файлы, в которых хранятся сведения о транзакциях в оптимизированных для памяти таблицах.Discusses data and delta files, which store information about transactions in memory-optimized tables.
Резервное копирование и восстановление оптимизированных для памяти таблицBackup, Restore, and Recovery of Memory-Optimized Tables Описывает резервное копирование, восстановление и восстановление оптимизированных для памяти таблиц.Discusses backup, restore, and recovery for memory-optimized tables.
Поддержка Transact-SQL для выполняющейся в памяти OLTPTransact-SQL Support for In-Memory OLTP Описывает поддержку службой Transact-SQLTransact-SQL службы Выполняющаяся в памяти OLTPIn-Memory OLTP.Discusses Transact-SQLTransact-SQL support for Выполняющаяся в памяти OLTPIn-Memory OLTP.
Поддержка высокого уровня доступности в базах данных OLTP в памятиHigh Availability Support for In-Memory OLTP databases Описывает группы доступности и отказоустойчивые кластеры в службе Выполняющаяся в памяти OLTPIn-Memory OLTP.Discusses availability groups and failover clustering in Выполняющаяся в памяти OLTPIn-Memory OLTP.
Поддержка SQL Server для In-Memory OLTPSQL Server Support for In-Memory OLTP Описание нового и обновленного синтаксиса и функций, поддерживающих оптимизированные для памяти таблицы.Lists new and updated syntax and features supporting memory-optimized tables.
Миграция в In-Memory OLTPMigrating to In-Memory OLTP Рассматриваются способы миграции дисковых таблиц в оптимизированные для памяти таблицы.Discusses how to migrate disk-based tables to memory-optimized tables.
   

В этом разделе приводятся ссылки на другие веб-сайты, содержащие сведения о выполняющейся в памяти OLTP в SQL Server.This section provides links to other websites that contain information about In-Memory OLTP on SQL Server.

17-минутное видео, с указателем17 minute video, indexed

  • Название видео:   Выполняющаяся в памяти OLTP в SQL Server 2016Video title:   In-Memory OLTP in SQL Server 2016
  • Дата публикации:   10.03.2019 на YouTube.com.Published date:   2019-03-10, on YouTube.com.
  • Продолжительность:   17:32     (для ссылок на видео см. следующий индекс.)Duration:   17:32     (See the following Index for links into the video.)
  • Размещено:   Хос де Бруижн (Jos de Bruijn), старший руководитель программы по SQL ServerHosted by:   Jos de Bruijn, Senior Program Manager on SQL Server

Демонстрацию можно скачатьDemo can be downloaded

На отметке времени 08:09 демонстрация в видео выполняется дважды.At the time mark 08:09, the video runs a demonstration twice. Вы можете скачать исходный код для готовой к запуску демонстрации производительности, которая используется в видео, по следующей ссылке:You can download the source code for runnable performance demo that is used in the video, from the following link:

Ниже приведена общая последовательность действий, которые показаны в видео.The general steps seen in the video are as follows:

  1. Сначала демонстрация запускается с обычной таблицей.First the demo is run with a regular table.
  2. Далее показана оптимизированная для памяти версия таблицы, которая создается и заполняется несколькими щелчками мыши в 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. После этого демонстрация выполняется повторно с использованием таблицы, оптимизированной для памяти.Then the demo is rerun with the memory-optimized table. Фиксируется существенное улучшение скорости.An enormous speed improvement is measured.

Указатель разделов видеоIndex to each section in the video

Ссылка на временную меткуTime mark link Заголовок разделаSection title
A.  00:00A.  00:00 Начало.The beginning.

B.  00:56B.  00:56

Почему выполняющаяся в памяти OLTP имеет значение для клиентов.Why customers should care about In-Memory OLTP.
  01:03    01:03 Современное оборудование требует современной архитектуры системы баз данных.Modern hardware requires modern architecture of database system.
  02:10    02:10 Взрывной рост объема создаваемых данных. Операции должны выполняться мгновенно (с низкой задержкой).Explosion in data being generated; operations need to be instant (low latency).
  03:19    03:19 Сокращение совокупной стоимости владения: больше возможностей при использовании существующих ресурсов.Reduce TCO - do more with the resources you have.

C.  03:33C.  03:33

Что такое выполняющаяся в памяти OLTP.What In-Memory OLTP is.
Оптимизация производительности с использованием оптимизированной для памяти технологии.Performance optimized using memory-optimized technology.
  05:03    05:03 Повышение скорости обработки транзакций до 30 раз.Up to 30X faster transaction processing.
  05:22    05:22 Полная надежность: данные сохраняются в случае сбоев сервера.Fully durable - data survives server failures.
  06:15    06:15 Полная интеграция в SQL Server.Fully integrated in SQL Server. Не требуется изучать новые языки и инструменты.Thus no new languages or tools to learn.
  07:22    07:22 Впервые выпущена в SQL Server 2014, существенно улучшена в 2016.First released in SQL Server 2014, but major improvements in 2016.
  07:58    07:58 Доступна также в базе данных SQL Microsoft Azure (в облаке).Available in Azure SQL Database too (in the cloud).

D.  08:09D.  08:09

Демонстрация производительности.Performance demonstration.
Запуск демонстрации с обычной таблицей.Run the demo with a regular table.
  09:11    09:11 Контекстное меню SSMS: Отчеты > Анализ производительности транзакцииSSMS context menu: Reports > Transaction Performance Analysis
  10:38    10:38 Контекстное меню SSMS: Помощник по оптимизации памятиSSMS context menu: Memory Optimization Advisor
   Фактическое создание оптимизированной для памяти таблицы из обычной таблицы и перенос данных.    Actually create a memory-optimized table from a regular table, plus migrate the data.
  11:28    11:28 Повторный запуск демонстрации, улучшение скорости в 45 раз.Rerun the demo, see 45X speed improvement.

E.  12:17E.  12:17

Более простая в использовании выполняющаяся в памяти OLTP в SQL Server 2016 (по сравнению с 2014).Easier to use In-Memory OLTP in SQL Server 2016 (compared to 2014).
  12:43    12:43 Упрощенный анализ для обеспечения миграции приложений.Simplified analysis to help with app migration.
  13:03    13:03 Упрощение миграции приложений с помощью расширенной поддержки языка Transact-SQL (например, с использованием внешних ключей и триггеров).Reduced complexity of app migration through increased Transact-SQL language support (for example, with foreign keys and triggers).
  13:56    13:56 Улучшение управляемости.Improved manageability.
   Например, изменение схемы и индексов, автоматическое обновление статистики.    For example, change schema and indexes, auto-update of statistics.

F.  14:46F.  14:46

Улучшенная масштабируемость.Improved scalability.
  15:12    15:12 Большие оптимизированные для памяти таблицы (до 2 ТБ на базу данных).Large memory-optimized tables (up to 2TB per database).
  15:34    15:34 Еще более эффективное масштабирование.Even better scaling.
  16:41    16:41 Больше возможностей при использовании существующих ресурсов.Do more with the resources you already have!

G.  16:53G.  16:53

Заключительные комментарии.Final comments. (Заканчивается на 17:32.)(Ends at 17:32.)
   

См. также разделSee also

Функции базы данныхDatabase Features