インメモリ OLTP とメモリ最適化In-Memory OLTP and Memory-Optimization

適用対象: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

インメモリ 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

SQL Server 上のインメモリ OLTP について説明し、パフォーマンス上の利点を示す 17 分の動画を YouTube にアップロードしました。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 テクノロジについては、「 列ストア インデックスの説明」を参照してください。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)、および Azure SQL データベースAzure 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 Azure SQL データベースAzure 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 は、Premium および Business Critical 層の Azure SQL Database およびエラスティック プールで使用できます。In-Memory OLTP is available in Premium and Business Critical tier Azure SQL databases and elastic pools. インメモリ OLTP および Azure SQL Database の列ストアの使用を開始するには、「 SQL Database でのインメモリ (プレビュー) の使用」をご覧ください。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:Transact-SQL のパフォーマンスを向上させるインメモリ OLTP テクノロジQuick 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.
インメモリ OLTP のコード サンプルIn-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 によるインメモリ OLTP のサポートTransact-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 によるインメモリ OLTP のサポートSQL Server Support for In-Memory OLTP 新しい構文および機能、更新された構文および機能のうち、メモリ最適化テーブルをサポートするものを一覧にして紹介します。Lists new and updated syntax and features supporting memory-optimized tables.
インメモリ OLTP への移行Migrating to In-Memory OLTP ディスク ベース テーブルをメモリ最適化テーブルに移行する方法について説明します。Discusses how to migrate disk-based tables to memory-optimized tables.
   

このセクションでは、SQL Server 上のインメモリ OLTP に関する情報を含むその他の Web サイトへのリンクを紹介します。This section provides links to other websites that contain information about In-Memory OLTP on SQL Server.

17 分の動画、インデックス付き17 minute video, indexed

  • 動画のタイトル: SQL Server 2016 のインメモリ OLTPVideo title: In-Memory OLTP in SQL Server 2016
  • 公開日: 2019-03-10Published date: 2019-03-10
  • 期間: 17:32Duration: 17:32
  • ホスト元: SQL Server のシニア プログラム マネージャーである Jos de BruijnHosted by: Jos de Bruijn, Senior Program Manager on SQL Server

デモをダウンロードできますDemo can be downloaded

時間マーク 08:09 では、動画でデモンストレーションが 2 回実行されます。At the time mark 08:09, the video runs a demonstration twice. 動画で使用されている実行可能なパフォーマンスのデモは、次のリンクからダウンロードできます。You can download the 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 TCO を削減 - お持ちのリソースでさらに多くのことを行います。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 Azure SQL Database でも利用できます (クラウド内)。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

SQL Server 2016 では (2014 と比較して) インメモリ OLTP を使いやすくなりました。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 TB)。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