數據庫鎖與死鎖-筆記

一、概述

數據庫是一個共享資源,可以供給多個用戶使用。運行多個用戶同時使用一個數據庫的數據系統統稱多用戶數據庫系統。例如,飛機訂票數據庫系統。在這樣的一個系統中,在同一時刻并發運行的事務數可達數百上千個。

當多個用戶并發地存取數據庫時就會產生多個事務同時存取同一數據的情況。若對數據操作不加控制就有可能存取和存儲不正確的數據,破壞事務的一致性和數據庫的一致性。

事務是并發控制的基本單位,保證事務的ACID特性是事務處理的重要任務,而事務的ACID特性可能遭到破壞的原因之一是多個事務對數據庫的并發操作造成的。

二、數據庫并發存在的問題

  1. 臟讀

讀臟數據是指事務T1修改某一數據并將其寫回磁盤,事務T2讀取同一數據后,T1被撤銷,T1修改過的值回復原值,T2讀過的數據就會與數據庫中的數據不一致。

  1. 丟失修改

T1與T2讀入同一數據并修改,T2提交的結果破壞T1提交的結果。

  1. 不可重復讀

事務T1讀取數據后,事務T2執行更新操作,使得T1無法再現前一次讀取的結果。

  • 三、并發控制技術

  • 封鎖

所謂封鎖,就是事務T在對某個數據對象,例如表、記錄操作之前,先向系統發出請求,對其加鎖。加鎖后事務T就對該數據對象有了一定的控制,在事務T釋放它的鎖之前,其他事務不能更新此數據對象。

封鎖類型

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919555.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919555.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919555.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

滲透藝術系列之Laravel框架(二)

任何軟件,都會存在安全漏洞,我們應該將攻擊成本不斷提高!?**——服務容器與中間件的攻防博弈**?本文章僅提供學習,切勿將其用于不法手段!一、服務容器的"依賴注入陷阱"1.1 接口綁定的"影子服務"…

官網SSO登錄系統的企業架構設計全過程

第一階段:架構愿景與業務架構設計 (Architecture Vision & Business Architecture) 任何架構的起點都必須是業務目標和需求。 1.1 核心業務目標 (Business Goals) 提升用戶體驗:用戶一次登錄,即可無縫訪問集團下所有子公司的官網和應用&a…

2025世界機器人大會:中國制造“人形時代”爆發

2025世界機器人博覽會8月8日在北京亦莊開幕,主題為“讓機器人更智慧,讓具身體更智能”,匯聚全球200余家企業、1500余件展品,其中首發新品超100款,人形機器人整機企業參展數量創同類展會之最。 除了機器人本體外&#…

Oracle 庫定期備份表結構元數據信息至目標端備份腳本

一、背景描述當前 xxx 項目 Oracle 11g RAC 庫缺少 DG,并且日常沒有備份,存在服務器或存儲損壞,數據或表結構存在丟失風險,在和項目組同步后,項目組反饋可對該數據庫定期備份相關結構信息,如存在數據丟失&a…

wps安裝后win系統瀏覽窗口無法查看

前提需要有安裝office軟件,PDF一般默認是瀏覽器,如果設置瀏覽器不行,就安裝Adobe Acrobat DC軟件1、按winR鍵,輸入regedit,進入注冊表2、找到路徑:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Current…

Qt 中最經典、最常用的多線程通信場景

實現步驟創建工作類 (Worker):在工作線程中處理數據的對象。創建線程對象 (QThread):用來托管工作對象。連接信號槽:主線程 -> 工作線程:連接一個主窗口發出的信號到工作對象的槽,用于傳遞數據。工作線程 -> 主線…

【CV 目標檢測】Fast RCNN模型①——與R-CNN區別

3.Fast RCNN模型 相比于R-CNN,Fast RCNN模型主要在以下三個方面進行了改進: 提高訓練和預測速度 R-CNN首先從測試圖中提取2000個候選區域,然后將這2000個候選區域分別輸入到預訓練好的CNN中提取特征。由于候選區域有大量的重疊,這…

Zookeeper學習

要精通 ZooKeeper,需要掌握其核心原理、數據模型、分布式協調機制、典型應用場景、運維管理與性能調優等方面的知識。以下是系統化的知識體系:? 一、ZooKeeper 基礎原理ZooKeeper 是什么 分布式協調服務,提供一致性、高可用的元數據管理核心…

用TestComplete打造高效CI/CD測試流程

傳統的UI測試往往受限于圖形界面渲染,導致執行速度慢、資源占用高,難以適應持續集成/持續交付(CI/CD)管道的需求。自動化UI測試平臺TestComplete的智能質量附加組件通過無頭測試技術,為開發團隊提供了一種更高效、更可…

C++ 淺拷貝 和深拷貝的知識點講解

好問題 👍,這個就是理解 delete 的關鍵前置知識。 我從 C語言基礎 出發,像教科書一樣,從零講給你聽。1. 什么是“拷貝”? 在 C 中,當你有一個對象 A,然后寫: Device_Info a; Device…

Arkts加載網頁url的pdf發票黑屏問題

使用模擬器會閃退,連接真機預覽正常import { HMRouter, HMRouterMgr, HMParamType, HMPageParam } from "hadss/hmrouter"; import { BaseTitle, RouterConstants } from "commonlib"; import { webview } from kit.ArkWeb; import { PDFView }…

使用 mongosh 設置 MongoDB 賬號密碼

可以使用 mongosh(MongoDB 6.0+ 的現代Shell)來設置賬號密碼。mongosh 是官方推薦的新一代MongoDB Shell工具,替代了傳統的 mongo 命令。 【本人博文提到的ip均為隨機生成的,不是實際的ip,僅供參考,如有雷同,純屬巧合】 使用 mongosh 設置 MongoDB 賬號密碼 1. 首先連…

HTML+CSS:浮動詳解

在HTMLCSS布局中,浮動(float) 是一種經典的布局技術,用于控制元素在頁面中的排列方式。它最初設計用于實現文字環繞圖片的效果,后來被廣泛用于復雜布局,但隨著Flexbox和Grid的興起,其使用場景有…

GPIO初始化及調用

下面把 HAL 庫 和 標準外設庫(SPL) 初始化 GPIO 點亮/熄滅 LED 的完整步驟、示例代碼和常用 API 逐一說清楚。用例默認 PC13 接 LED(藍板常見;低電平點亮,高電平熄滅——若板子相反,只把寫 1/0 對調即可&am…

【GPT入門】第48課 LlamaFacotory 合并原模型與LoRA模型

【GPT入門】第48課 LlamaFacotory 合并原模型與LoRA模型1.合并原模型與LoRA訓練的增量模型2. 測試模型1.合并原模型與LoRA訓練的增量模型 llamafactory-cli webui 執行合并 合并后模型大小 (base) rootautodl-container-b4b04ea4f2-b5ee47d1:~# du -sh /root/autodl-tmp/mod…

Python爬蟲實戰:研究tumblr,構建博客平臺數據采集分析系統

1. 引言 1.1 研究背景 在信息爆炸的時代,社交媒體平臺已成為人們獲取信息、表達觀點和進行社交互動的主要渠道。這些平臺上積累的海量數據包含了用戶偏好、社會趨勢、文化現象等豐富信息,對學術研究、市場分析、產品開發等領域具有重要價值。 Tumblr 作為一個綜合性的輕博客…

集成算法學習總結

一、集成學習基礎認知 核心思想:集成學習(ensemble learning)通過構建并結合多個個體學習器來完成學習任務,類似于 “多個專家共同決策”,通常比單個學習器的性能更優。其核心邏輯是利用多個學習器的優勢互補&#xff…

線程安全的產生以及解決方案

線程安全原子性(Atomicity)、可見性(Visibility)、有序性(Ordering) 是保證線程安全的三大核心要素 —— 線程安全問題的本質,幾乎都是這三個特性中的一個或多個被破壞導致的。操作不會被 “中途…

Spring Cloud Netflix學習筆記01

文章目錄前言一、微服務概述什么是微服務?微服務與微服務架構微服務優缺點優點缺點微服務技術棧有那些?二.SpringCloud入門概述SpringCloud是什么?SpringCloud和SpringBoot的關系Dubbo 和 SpringCloud技術選型總結SpringCloud能干嘛&#xff…

專題:2025母嬰行業消費洞察與分齡營養趨勢報告|附40 +份報告PDF、交互圖表數據匯總下載

原文鏈接:https://tecdat.cn/?p43654 當95后媽媽拿著計算器對比DHA純度,當爸爸們為“防紅屁屁紙尿褲”貨比三家,母嬰行業的風向早就變了。從“一把奶粉喂到3歲”到“按月齡定制營養包”,從“進口就好”到“看專利數據下單”&…