SQL Server核心架構剖析

來源:互聯網
上載者:User

我們做管理軟體的,主要核心就在資料存放區管理上。所以資料庫設計是我們的重中之重。為了讓我們 的管理軟體能夠穩定、可擴充、效能優秀、可跟蹤排錯、可升級部署、可外掛程式運行,我們往往研發自己的 管理軟體開發平台。我們總是希望去學習別人的開發平台(如用友或金蝶或SAP),但我們卻總是感歎管 理軟體業務處理細節繁多,而資料庫管理軟體卻簡單的SELECT、INSERT、DELETE、UPDATE四個命令就搞定 。我們多希望有一天能做出一個架構,也可以這麼簡單就搞定管理軟體。我們往往研究別人的架構,卻忘 記了我們身邊我們最熟悉的資料庫的架構。所以,今天,我想帶領大家一起剖析一下資料庫的架構,來探 索資料庫的架構思想。而我本人呢,只熟悉SQLSERVER這一種資料庫產品,所以我就拿SQLSERVER來分析。

在講SQLSERVER內部原理的之前,我覺得非常有必要向大家介紹一下SQLSERVER的曆史。

讓我們站在1999年,看看電腦資料庫業界到底處於什麼狀態。

1999年,Oracle已經於1998年9月發布了Oracle 8i(可能中文版在1999年才來到中國)。Oracle 8i支 持用JAVA編寫預存程序,支援XML,支援Linux。

1999年1月,SQLSERVER7正式發布。SQLSERVER7重構了整個資料庫引擎(相當於重寫了SQLSERVER)。 SQLSERVER第一次完整性的支援了行鎖(有沒有搞錯,過去人是怎麼使用資料庫產品的。1988年,Oracle6 就支援行鎖。另外1988年,Oracle就開始研發ERP產品。誰說Oracle是ERP門外漢,可以參考這個)。

看看他們倆的前一個版本。如果你入行比較晚(2000年以後),可能對以下文字更感到驚訝。

1992年,Oracle7發布。有了預存程序、觸發器、參考完整性校正、分散式交易處理。(天哪, Oracle7才有了這些東西)。

1995年,SQLSERVER6發布。SQLSERVER6是微軟真正意義上的第一個資料庫產品(真是爆料,大家沒想 到SQLSERVER6才是微軟第一個資料庫產品,那版本6之前的5、4、3、2、1是怎麼度過的)。因為1994年, 微軟和Sybase掰了(Sybase是第一個運行於PC上的C/S資料庫產品)。微軟為了進入資料庫產品領域,自 己又沒有經驗,於是和Sybase一起合作(當時微軟是全世界第一大軟體公司,微軟1986年上市。Sybase有 產品,缺錢。微軟缺產品,有錢。於是一拍即合)。直到1994年,微軟也不需要Sybase了(已經學會了數 據庫技術),Sybase也感覺微軟太狼子野心,於是合作分裂。微軟開始自己做自己的資料庫。

曆史說完。我們言歸正傳。

很多入門級做管理軟體的,SQL語句玩的熟練,從子查詢到Having到交叉表統計SQL都能做出來,甚至 預存程序能寫2000多行,遊標、自訂函數、觸發器、約束用的眼花繚亂。再入點門,在SQL查詢器中可 以使用SQL分析最佳化索引,用SQL Profile可以跟蹤SQL,甚至在效能查看器中監測SQLSERVER記憶體、CPU、 線程、I/O的運行狀態,甚至為自己會使用DBCC而沾沾自喜。

你是如此熟悉SQLSERVER,又是對SQLSERVER如此陌生。

我今天就用架構的角度來給大家分析一下SQLSERVER架構和原理。短短一篇博文肯定只能面上的多一些 ,深一層的可能需要連載數篇文章甚至一塊大磚頭書才能講完整。不過,我希望我的博文能夠拋磚引玉, 使大家能從一個過去沒有想過的角度去看SQLSERVER。

SQLSERVER,作為一個資料庫產品,我個人認為,最重要的就是兩大塊:儲存引擎和查詢引擎。

其他的日誌、事務、鎖、索引等等都是圍繞他們來工作的。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.