關注微信公衆號:FocusBI 查看更多文章;加QQ羣:808774277 獲取學習資料和一塊兒探討問題。html
《商業智能教程》pdf下載地址 數據庫
連接:https://pan.baidu.com/s/1f9VdZUXztwylkOdFLbcmWw 密碼:2r4v緩存
瞭解SQL Server 內部組件是如何運做對學習BI是很是有幫助的,它是BI數據的主要來源。服務器
一:SQL Server 網絡接口(SNI)是一個協議層,負責創建客戶端和服務器之間的網絡鏈接。SQL Server支持的協議有: 共享內存、TCP/IP、命名管道 等,這裏我講一下 TCP 協議的三次握手和四次揮手,TCP端口默認1433,UDP端口默認1434微信
二:SQL Server 由兩個主要引擎組成:關係引擎和存儲引擎。網絡
關係引擎有時稱爲查詢處理器,由於關係引擎的主要功能是進行查詢的優化和執行。關係引擎包含三個主要部分,命令解析器、查詢優化器和查詢執行器。命令解析器用於檢查查詢命令的語法和生成查詢樹,查詢優化器大概是任何數據庫系統中最重要的一部分,查詢執行器負責查詢命令的執行。post
存儲引擎負責管理與數據相關的全部I/O操做,包括訪問方法和緩衝區管理器。其中,訪問方法負責處理行、索引、頁、分配和行版本的I/O請求;緩衝區管理器負責緩衝池的管理,緩衝池是SQL Server 內存的主要使用者。存儲引擎還包含了一個事物管理器,負責數據的鎖定以實現ACID(原子性、一致性、隔離性、持久性)屬性中的隔離性,並負責管理事物日誌。性能
緩衝池是SQL Server內存最大的使用者。緩衝池中包含了SQL Server 中全部類型的緩存,包括計劃緩存和數據緩存。好比當你查詢一個關聯語句時若是它開機後沒有執行過,查詢時會消耗一點時間,若是開機後又查詢過在去查詢速度會很快,它沒有去查詢數據庫文件而是去的內存中緩存下來的數據。學習
三:磁盤上的數據文件和日誌文件。優化
這裏已一個簡單的查詢(select)和更新(update)的生命週期爲例
簡單的查詢
簡單的更新
更新與查詢的前面步驟是同樣的,到了訪問方法這一步,事物管理器會將更新操做寫入日誌管理器中,只有在肯定操做已經成功寫入了事物日誌以後,纔可以執行真正的數據修改操做。因此事物日誌的性能很關鍵,一旦訪問方法接收到確認信息,就將修改數據的請求發送給緩衝區管理器,由緩衝區管理器完成修改數據的操做。
歷史文章:
FocusBI: 使用Python爬蟲爲BI準備數據源(原創)