




已閱讀5頁,還剩19頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2020年3月14日 第1頁 第13章事務 本章概述本章要點本章內容 2020年3月14日 第2頁 本章概述 對于一個有大量用戶使用的分布式數據庫管理系統來說 必須很好地解決多用戶使用過程中出現的并發性問題 提高數據庫的處理速度 僅依靠提高計算機的物理速度是不夠的 還必須充分考慮和解決數據庫系統的并發性問題 提高數據庫并發操作的效率 在MicrosoftSQLServer2008系統中 通過采用事務和鎖機制 解決了數據庫系統的并發性問題 本章將全面闡述MicrosoftSQLServer的事務技術 2020年3月14日 第3頁 本章要點 并發性的概念和并發性問題的特點事務的概念 類型和特點事務管理技術理解鎖的作用掌握定制鎖技術掌握查看和理解鎖信息技術 2020年3月14日 第4頁 本章內容 13 1概述13 2事務的特點 類型和管理13 3使用鎖13 4本章小結 13 1概述 經常有許多用戶同時訪問和使用數據庫 并發性就是兩個或兩個以上的用戶同時對數據執行的操作 并發性問題就是并發操作時遇到的各種問題 在MicrosoftSQLServer2008系統中 解決并發性問題采取了事務和鎖機制 2020年3月14日 第5頁 事務和鎖 事務和鎖是兩個緊密聯系的概念 事務就是一個單元的工作 包括一系列的操作 這些操作要么全部成功 要么全部失敗 事務確保多個數據的修改作為一個單元來處理 例如 在銀行業務中有一條記賬原則 即有借必有貸 借貸必相等 為了保證這種原則 就必須確保借和貸的記錄要么同時成功 要么同時失敗 如果出現只記錄了借方 或只記錄了貸方 違反了記賬原則 就會出現記錯賬的情況 MicrosoftSQLServer通過支持事務機制管理多個事務 保證事務的一致性 通過在事務中使用鎖 可以防止其他用戶修改還沒有完成的事務中的數據 對于多用戶系統來說 鎖機制是必須的 在MicrosoftSQLServer系統中 使用事務日志來保證修改的完整性和可恢復性 2020年3月14日 第6頁 13 2事務的特點 類型和管理 事務是MicrosoftSQLServer系統的重要特征 一方面保證了系統的備份和恢復 另一方面實現了數據一致性機制 下面將詳細描述事務的概念 工作原理 事務的類型等內容 2020年3月14日 第7頁 事務的概念 事務是指一個單元的工作 作為一個邏輯單元 它必須具備4個屬性 自動性 一致性 獨立性和持久性 自動性是指事務必須是一個自動的單元工作 要么執行全部數據的修改 要么全部數據的修改都不執行 一致性是指當事務完成時 必須使所有數據都具有一致的狀態 獨立性是指并行事務的修改必須與其他并行事務的修改相互獨立 持久性是指當一個事務完成之后 它的影響永久性地產生在系統中 也就是這種修改寫到了數據庫中 2020年3月14日 第8頁 事務的工作原理 事務確保數據的一致性和可恢復性 事務開始之后 事務所有的操作都陸續寫到事務日志中 寫到事務日志中的操作一般有兩種 一種是針對數據的操作 一種是針對任務的操作 針對數據的操作 這些操作的對象是大量的數據 有些操作是針對任務的 例如創建索引 這些任務操作在事務日志中記錄一個標志 用于表示執行了這種操作 當取消這種事務時 系統自動執行這種操作的反操作 保證系統的一致性 系統自動生成一個檢查點機制 這個檢查點周期地發生 2020年3月14日 第9頁 使用事務時的考慮 在使用事務時 原則上應該使事務盡可能短并且要避免事務嵌套 事務應該盡可能短 這是因為比較長的事務增加了事務占用數據的時間 使其他必須等待訪問該事務鎖定數據的事務延長了等待訪問數據的時間 在使用事務時 為了使事務盡可能短 應該采取一些相應的方法 2020年3月14日 第10頁 事務的類型 根據系統的設置 可以把事務分成兩種類型 一種是系統提供的事務 另一種是用戶定義的事務 系統提供的事務是指在執行某些語句時 一條語句就是一個事務 這時 一條語句的對象既可以是表中的一行數據 也可以是表中的多行數據 甚至是表中的全部數據 因此 只有一條語句構成的事務也可能包含了對多行數據的處理 2020年3月14日 第11頁 分布式事務 還有一種特殊的用戶定義的事務 這就是分布式事務 前面提到的事務都是在一個服務器上的操作 其保證的數據完整性和一致性是指一個服務器上的完整性和一致性 但是如果在一個比較復雜的環境中可能有多臺服務器 那么要保證在多服務器環境中事務的完整性和一致性 就必須定義一個分布式事務 在這個分布式事務中 所有的操作都可以涉及對多個服務器的操作 2020年3月14日 第12頁 管理事務 BEGINTRANSACTIONBEGINDISTRIBUTEDTRANSACTIONCOMMITTRANSACTIONROLLBACKTRANSACTIONSAVETRANSACTIONSETIMPLICIT TRANSACTION 2020年3月14日 第13頁 使用SAVETRANSACTION語句 2020年3月14日 第14頁 13 3使用鎖 鎖是實現事務的手段 實際上鎖是保護事務和數據的方式 這種保護方式類似于日常生活中使用的鎖 下面介紹MicrosoftSQLServer系統中鎖的特點 2020年3月14日 第15頁 鎖的概念 鎖是防止其他事務訪問指定資源的手段 鎖是實現并發控制的主要方法 使多個用戶能夠同時操縱同一個數據庫中的數據而避免發生數據不一致現象的重要保障 一般來說 鎖可以防止臟讀 不可重復讀和幻覺讀 2020年3月14日 第16頁 SQLServer的空間特點 在MicrosoftSQLServer系統中 最小的空間管理單位是頁 一個頁有8K 所有的數據 日志 索引都存放在頁上 另外 使用頁還有一個限制 表中的一行數據必須在同一個頁上 不能跨頁 頁上面的空間管理單位是Extent 一個Extent是8個連續的頁 表和索引的最小占用單位是Extent 數據庫是由一個或多個表或索引組成的 即是由多個Extent組成 2020年3月14日 第17頁 可以鎖定的資源 為了優化系統的并發性 應該根據事務的大小和系統活動的程度鎖定不同的資源 也就是說 既可以鎖定比較大的資源 也可以鎖定比較小的資源 在MicrosoftSQLServer系統中 已經非常完善地實現了這些要求 在MicrosoftSQLServer中可以鎖定的資源有多種 這些可以鎖定的資源分別是行 頁 Extent 表和數據庫 它們對應的鎖分別是行級鎖 頁級鎖 Extent級鎖 表級鎖和數據庫級鎖 數據行存放在頁上 頁存放在Extent上 一個表由若干個Extent組成 而若干個表組成了數據庫 在這些可以鎖定的資源中 最基本的資源是行 頁和表 2020年3月14日 第18頁 鎖的類型和其兼容性 鎖定資源的方式有兩種基本形式 一種形式是讀操作要求的共享鎖 另一種形式是寫操作要求的排他鎖 除了這兩種基本類型的鎖 還有一些特殊情況的鎖 例如意圖鎖 修改鎖和模式鎖 在這些各種類型的鎖中 某些類型的鎖之間是可以兼容的 但多數類型的鎖之間是不兼容的 有些鎖之間是兼容的 例如共享鎖和修改鎖 有些鎖之間是不兼容的 例如排他鎖和共享鎖 表13 1列出了MicrosoftSQLServer系統提供的各種鎖之間的兼容性 2020年3月14日 第19頁 死鎖問題 死鎖是一個很重要的話題 在事務和鎖的使用過程中 死鎖是一個不可避免的現象 在下面兩種情況下會發生死鎖 第一種情況是當兩個事務分別鎖定了兩個單獨的對象 這時每一個事務都要求在另外一個事務鎖定的對象上獲得一個鎖 因此每一個事務都必須等待另外一個事務釋放占有的鎖 這時就發生了死鎖 這種是最典型的死鎖形式 死鎖的第二種情況是在一個數據庫中 有若干個長時間運行的事務執行并行的操作 當查詢分析器處理一種非常復雜的查詢 例如連接查詢時 由于不能控制處理的順序 有可能發生死鎖現象 2020年3月14日 第20頁 會話級鎖和表級鎖 一般地 鎖是由系統自動提供的 但是在有些情況下 用戶也可以定制鎖 也就是說 用戶可以對會話級鎖和表級鎖進行定制 會話級鎖的定制包括兩個方面 事務隔離等級和鎖超時限制 事務隔離等級保護指定的事務 該事務隔離允許對一個會話中的全部事務設置隔離等級 當設置隔離等級時 就為會話中的全部語句指定了默認的鎖定行為 MicrosoftSQLServer系統支持5種事務隔離等級 2020年3月14日 第21頁 設置事務隔離等級 2020年3月14日 第22頁 13 4本章小結 本章全面講述了事務技術 首先 分析了并發性的概念和特點 其次 對事務的概念 類型 特點以及管理技術進行了全面研究 事務作為一個重要的數據庫技術基本概念 在保護數據庫的可恢復性和多用戶 多事務方面具有基礎性的作用 最后 對鎖技術進行了全面介紹 包括鎖的類型 鎖資源的特點 會話級鎖的特點 表級鎖的特點以及死鎖的特點等 2020年3月14日 第23頁 思考和練習 1 什么是并發性 2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南吉利汽車職業技術學院《新能源科學與工程專業英語閱讀》2023-2024學年第二學期期末試卷
- 南充文化旅游職業學院《職業生涯與發展規劃》2023-2024學年第二學期期末試卷
- 浙大城市學院《園林建筑設計Ⅱ》2023-2024學年第二學期期末試卷
- 新疆機電職業技術學院《曲式分析》2023-2024學年第二學期期末試卷
- 山西傳媒學院《結構力學A(1)》2023-2024學年第二學期期末試卷
- 西安文理學院《服飾紋樣設計》2023-2024學年第二學期期末試卷
- 浙江工商職業技術學院《實驗設計及數據處理》2023-2024學年第二學期期末試卷
- 棗莊職業學院《醫學統計學實驗》2023-2024學年第二學期期末試卷
- 青島理工大學《陶藝雕塑》2023-2024學年第二學期期末試卷
- 兩地三中心文化旅游產業融合發展路徑
- 2025年浙江省溫州市樂清市中考二模語文試題(含答案)
- 2025年中考第一次模擬考試(陜西卷)(參考答案及評分標準)
- 鮮花顏色搭配培訓課件
- 安檢服務課件
- 2025年中考化學復習新題速遞之創新實驗(2025年4月)
- 2025-2030年中國電感市場趨勢分析及投資發展戰略研究報告
- (人教版)2025年中考生物真題試題(含解析)
- 直招軍官面試真題及答案
- 《中式美食鑒賞》課件
- 安全用電宣傳課件初中
- 安裝鋁板合同協議
評論
0/150
提交評論