国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sqlserver2014內存數據庫特性介紹

2020-01-28 15:47:36
字體:
來源:轉載
供稿:網友
相信大家對內存數據庫的概念并不陌生,之前也有多位大牛介紹過SQL內存數據庫的創建方法,我曾仔細 拜讀過,有了大致了解,不過仍有很多細節不清晰,比如:

(1)內存數據庫是把整個數據庫放到內存中的嗎?

(2)數據都在內存里面,那宕機或者斷電了,數據不是沒有了嗎?

(3)據在內存是怎么存放的,還是按照頁的方式嗎,一行的大小有限制嗎?

(4)內存數據庫號稱無鎖式設計,SQL是如何處理并發沖突的呢?

相信這些疑問也是大家在思考內存數據庫時經常遇到的難題,下文將為大家一一揭開這些問題的面紗,如有不對之處,還請各位看官幫我指出。

一、內存數據庫是如何存儲的,只放在內存嗎?是把整個數據庫放在內存嗎?

答案:不是。

sql server 2014提供了眾多激動人心的新功能,但其中我想最讓人期待的特性之一就要算內存數據庫了。去年我再西雅圖參加SQL PASS Summit 2012的開幕式時,微軟就宣布了將在下一個SQL Server版本中附帶代號為Hekaton的內存數據庫引擎。現在隨著2014CTP1的到來,我們終于可以一窺其面貌。

內存數據庫

在傳統的數據庫表中,由于磁盤的物理結構限制,表和索引的結構為B-Tree,這就使得該類索引在大并發的OLTP環境中顯得非常乏力,雖然有很多辦法來解決這類問題,比如說樂觀并發控制,應用程序緩存,分布式等。但成本依然會略高。而隨著這些年硬件的發展,現在服務器擁有幾百G內存并不罕見,此外由于NUMA架構的成熟,也消除了多CPU訪問內存的瓶頸問題,因此內存數據庫得以出現。

內存的學名叫做Random Access Memory(RAM),因此如其特性一樣,是隨機訪問的,因此對于內存,對應的數據結構也會是Hash-Index,而并發的隔離方式也對應的變成了MVCC,因此內存數據庫可以在同樣的硬件資源下,Handle更多的并發和請求,并且不會被鎖阻塞,而SQL Server 2014集成了這個強大的功能,并不像Oracle的TimesTen需要額外付費,因此結合SSD AS Buffer Pool特性,所產生的效果將會非常值得期待。

SQL Server內存數據庫的表現形式

在SQL Server的Hekaton引擎由兩部分組成:內存優化表和本地編譯存儲過程。雖然Hekaton集成進了關系數據庫引擎,但訪問他們的方法對于客戶端是透明的,這也意味著從客戶端應用程序的角度來看,并不會知道Hekaton引擎的存在。如圖1所示。

圖1.客戶端APP不會感知Hekaton引擎的存在

首先內存優化表完全不會再存在鎖的概念(雖然之前的版本有快照隔離這個樂觀并發控制的概念,但快照隔離仍然需要在修改數據的時候加鎖),此外內存優化表Hash-Index結構使得隨機讀寫的速度大大提高,另外內存優化表可以設置為非持久內存優化表,從而也就沒有了日志(適合于ETL中間結果操作,但存在數據丟失的危險)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扎囊县| 介休市| 益阳市| 敦化市| 吴江市| 云梦县| 广汉市| 博白县| 鹰潭市| 兴隆县| 迭部县| 大兴区| 连城县| 大同市| 辉南县| 伊春市| 灵寿县| 肥东县| 明溪县| 绍兴县| 寿宁县| 叶城县| 苗栗市| 开平市| 莱芜市| 阜平县| 南充市| 潜山县| 年辖:市辖区| 宁乡县| 房产| 依兰县| 旺苍县| 民乐县| 基隆市| 白朗县| 新乡县| 金昌市| 周宁县| 佛教| 长垣县|