Azure MS SQLデータベースのEntity Frameworkでメモリ内で使用することはできますか?MS SQL Azureでのメモリ内エンティティフレームワーク
Azureでは、メモリMS SQLデータベースにあります。In merory Azure
ことが可能であるならば、任意のdisadvancesありますか?
Azure MS SQLデータベースのEntity Frameworkでメモリ内で使用することはできますか?MS SQL Azureでのメモリ内エンティティフレームワーク
Azureでは、メモリMS SQLデータベースにあります。In merory Azure
ことが可能であるならば、任意のdisadvancesありますか?
はい、下記の条件を満たす場合はEFを使用できます。
プレミアムサービス層にあるデータベース。
In-Memory OLTP機能の後に作成されたデータベースは、 になりました。
新しいデータベースは、メモリ内OLTP機能が アクティブになる前に作成された データベースからリストアされた場合、メモリ内OLTPをサポートできません。
Transact-SQL Constructs Not Supported by In-Memory OLTP
メモリに最適化されたテーブル、ネイティブコンパイルされたストアドプロシージャ、および ユーザ定義関数は、解釈ディスクベーステーブルによって支持されている完全なTransact-SQLの表面 領域をサポートしていませんTransact-SQL ストアドプロシージャ、およびユーザー定義関数。サポートされていない機能の1つを として使用しようとすると、サーバーはエラーを返します。
New Features and Enhancements in SQL Server 2016
複数のアクティブな結果セット(MARS)のサポート:インメモリOLTPは今 は、クエリを使用してMARSとネイティブにコンパイルストアドプロシージャをサポートしています。 これにより、次の要求を送信する前に各結果セットを取得する必要なく、複数のクエリからデータを要求することができます。 MARSは、 によって無効にされているため、 を接続で明示的に有効にする必要があります。 MARSのサポートにより、Entity Frameworkは がインメモリOLTPで実装するのが容易になります。
その耐久性ですか?
彼らは完全に、トランザクションの耐久性があり、ちょうどディスクベースのテーブルのようなT-SQL ステートメントを使用してアクセスすることができます。テーブル の1つのバージョンがアクティブメモリに格納され、標準バージョンは ハードディスクに格納されます。ただし、トランザクションはメモリ内のバージョン からのデータに直接アクセスするため、より高速に実行されます。
プレミアムサービス層のみですか? 私はデモデータベースで私をテストすることができます。古いデータをバックアップし、新しいデータにロードするだけです。構造は不変の変更なので、それはできます。 – SeduceAdmin
はい、しかし、あなたは 'プレミアムサービス層にあるデータベース 'を持っていなければならないので、production.forで使うことはできません。これは現時点での必要条件です。 – Sampath
そして、インメモリのデータはディスク上で非同期保存されますか?他の方法でデータが失われないようにするには? – SeduceAdmin