Sql-Server

與 Microsoft Hekaton 共享記憶體

  • May 13, 2020

Microsoft SQL Server 2014 In-Memory Engine 是否支持像 Oracle TimesTen 這樣的共享記憶體訪問?我只發現 SqlServer2008 中有一個具有此名稱的協議, 但我沒有找到 SqlServer2014

謝謝

Hekaton 不支持從客戶端應用程序直接訪問記憶體。理論上,應用程序可以訪問與 SQL Server 使用作業系統記憶體部分相同的記憶體空間。但是,這沒有實現。

共享記憶體傳輸與此無關。實際上,它使用共享記憶體區域來傳輸數據。但它仍然執行正常的 TDS 協議(包括這涉及的數據轉換和序列化)。

我不是 Hekaton 的專家,但根據 Kalens 的文章是的,它確實如此,但與 Oracle 的方式不同:

對於處理 OLTP 數據,有兩種類型的專用引擎。第一個是主記憶體數據庫。Oracle 有 TimesTen,IBM 有 SolidDB,還有許多其他主要針對嵌入式數據庫空間。第二個是應用程序記憶體或鍵值儲存(例如,Velocity – App Fabric Cache 和 Gigaspaces),它們利用應用程序和中間層記憶體從數據庫系統解除安裝工作。這些記憶體繼續變得更加複雜並獲得數據庫功能,例如事務、範圍索引和查詢功能(例如 Gigaspaces 已經擁有這些功能)。與此同時,數據庫系統正在獲得記憶體功能,如高性能雜湊索引和跨機器集群的擴展(VoltDB 就是一個例子)。In-Memory OLTP 引擎旨在提供這兩種類型的引擎中最好的。考慮記憶體中 OLTP 的一種方式是,它具有記憶體的性能和數據庫的功能。它支持將表和索引儲存在記憶體中,因此您可以將整個數據庫創建為完整的記憶體系統。它還提供高性能索引和日誌記錄以及其他功能,以顯著提高查詢執行性能。

以前可從此連結獲得文章和下載。

引用自:https://dba.stackexchange.com/questions/69812