更新:2015年11月30日
SQL Serverチームは、CTP3.1のインメモリOLTPのいくつかの新機能を含むブログ投稿を公開しました。
- SQL Server 2016 Community TechnologyPreview3.1が利用可能です
更新:2015年11月17日
Jos de Bruijnが、CTP3.0以降のインメモリOLTP変更の更新リストを投稿しました。
- インメモリOLTP–SQL2016CTP3の新機能
以前、SQL Server 2016の可用性グループの変更について投稿しました。これは、MS Igniteで、主にJoeyD'AntoniとDennyCherryのセッションから学びました。もう1つのすばらしいセッションは、KevinFarleeとSunilAgarwalによる、インメモリOLTP(以前は「Hekaton」と呼ばれていた機能)のストアの変更に関するものでした。興味深い補足:このセッションのビデオは、KevinがCTP2.0(ビルド13.0.200)を実行しているデモを示していますが、この夏に公開されるビルドではない可能性があります。
機能/制限 | SQL Server 2014 | SQL Server 2016 | |
---|---|---|---|
耐久性のあるテーブルの最大合計サイズ | 256 GB | 2 TB | |
LOB(varbinary(max)、[n] varchar(max)) | サポートされていません | サポート* | |
透過的データ暗号化(TDE) | サポートされていません | ||
オフラインチェックポイントスレッド | 1 | コンテナごとに1つ | |
ALTER PROCEDURE / sp_recompile | サポートされていません | サポート(完全にオンライン) | |
ネストされたネイティブプロシージャ呼び出し | サポートされていません | ||
ネイティブにコンパイルされたスカラーUDF | サポートされていません | ||
代替テーブル | サポートされていません (DROP / re-CREATE) | 部分的にサポート (オフライン–詳細は以下) | |
DMLトリガー | サポートされていません | 部分的にサポートされています (後で、ネイティブにコンパイルされます) | |
NULL可能列のインデックス | サポートされていません | ||
インデックスキー列の非BIN2照合 | サポートされていません | ||
[var]char列の非ラテン語コードページ | サポートされていません | ||
非BIN2比較/ネイティブモジュールでの並べ替え | サポートされていません | ||
外部キー | サポートされていません | ||
チェック/一意の制約 | サポートされていません | ||
並列処理 | サポートされていません | サポート | |
OUTER JOIN、OR、NOT、UNION [ALL]、DISTINCT、EXISTS、IN | サポートされていません | ||
複数のアクティブな結果セット(MARS) (より優れたEntity Frameworkサポートを意味します。) | サポートされていません | ||
SSMSテーブルデザイナー | サポートされていません |
* LOBサポートは、この夏のCTP出荷では利用できなくなります。
ALTER TABLE
はオフライン操作であり、列、インデックス、および制約の追加/削除をサポートします。これらのアクションのいくつかをサポートするための新しい構文拡張があります。簡単な再構築でバケットカウント値を変更できます(ただし、再構築には2倍のメモリが必要になることに注意してください):
ALTER TABLE dbo.InMemoryTable ALTER INDEX IX_NC_Hash REBUILD WITH (BUCKET_COUNT = 1048576);
これらの容量/機能の強化に加えて、いくつかの追加のパフォーマンスの強化もあります。たとえば、ディスクベースのテーブルまたはメモリ内のテーブルのいずれかに、メモリ内の更新可能な非クラスタ化列ストアインデックスを追加する機能があります。また、削除された行の処理方法が簡素化されました(2014年には、これらの操作はFileStreamを使用します。2016年には、この手順をスキップします)。移行アドバイザとベストプラクティスアナライザも改善されました。データ収集が軽くなり、移行の複雑さに関するコンテキストが増えました。
これらの変更のいくつかには、まだいくつかの制限があります。たとえば、TDEでは、データベースをアップグレードするときに追加の手順が必要です。しかし、インメモリOLTPが成熟するにつれ、採用への最大の障害の多くが失われていることは明らかです。
しかし、待ってください、もっとあります! Azure SQL DatabaseでインメモリOLTPを使用する場合は、この夏に完全にサポートされるパブリックプレビューが提供されます。したがって、この機能を限界まで押し上げるために、2TBのメモリを備えた独自の物理サーバーは必要ありません。ただし、この機能がStandardEditionに少しずつ入り込むことは期待しないでください。