国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL數(shù)據(jù)庫中并發(fā)控制的方法初探

2017-03-08 07:59:55
黑龍江科學(xué) 2017年20期
關(guān)鍵詞:封鎖事務(wù)級別

于 雷

(吉林廣播電視大學(xué),長春 130022)

SQL數(shù)據(jù)庫中并發(fā)控制的方法初探

于 雷

(吉林廣播電視大學(xué),長春 130022)

隨著信息科學(xué)技術(shù)的快速發(fā)展,信息化的普及和互聯(lián)網(wǎng)的發(fā)展變得越來越快,與此同時,用戶量也在逐年增加,數(shù)據(jù)訪問的并發(fā)性要求也越來越高,研究了SQL數(shù)據(jù)庫中的并發(fā)控制方法,結(jié)合一些經(jīng)典案例給出了解決方法。

SQL數(shù)據(jù)庫;并發(fā)控制;控制方法

隨著信息化社會的發(fā)展,互聯(lián)網(wǎng)等信息技術(shù)飛速發(fā)展,用戶越來越多,對SQL數(shù)據(jù)庫中的并發(fā)性要求也越來越多。在日常生活中,每天對數(shù)據(jù)的訪問是比較頻繁的,數(shù)據(jù)在使用時還要實現(xiàn)多用戶共享,這就要求數(shù)據(jù)庫中的并發(fā)控制方法和機制處于一個最好的狀態(tài),以保證數(shù)據(jù)的完整不流失,防止數(shù)據(jù)庫在運行時出現(xiàn)錯誤。數(shù)據(jù)庫中的并發(fā)控制機制是衡量數(shù)據(jù)庫某些性能的重要指標,筆者重點分析了數(shù)據(jù)庫中的并發(fā)控制方法。

1 并發(fā)控制概述

1.1 并發(fā)的定義

并行性指的是兩個或兩個以上的事件或活動在同一時刻發(fā)生。在多道程序環(huán)境下,并行性使多個程序同一時刻在不同CPU上同時執(zhí)行,并且也能考驗系統(tǒng)同時操作和共享數(shù)據(jù)的能力。與此同時,用戶進程數(shù)量越多,說明數(shù)據(jù)庫的并發(fā)性越好。并發(fā)控制是數(shù)據(jù)庫通過自己的管理方式保證用戶在訪問數(shù)據(jù)的過程中,數(shù)據(jù)不會被輕易修改和添加,這樣一方面是為了保障數(shù)據(jù)的安全,另一方面是防止數(shù)據(jù)不一致的危險發(fā)生。如果一味地放縱這些進程運行,就會給數(shù)據(jù)庫的安全性帶來極大的威脅。

1.2 事務(wù)概念

事務(wù),一般是指要做的或所做的事情。在計算機術(shù)語中是指訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元。事務(wù)的組成是從事務(wù)開始到結(jié)束的全部進程,因此,事務(wù)訪問數(shù)據(jù)的基本單元就是邏輯單位,且其操作序列也是固定的,但是卻可以實現(xiàn)特有的業(yè)務(wù)功能。事務(wù)有以下功能:第一,原子性。在事務(wù)的操作過程中,只會出現(xiàn)全部反映和全部不反映。第二,一致性。事務(wù)在執(zhí)行各項操作時,使數(shù)據(jù)庫數(shù)據(jù)保持一致性。第三,隔離性。雖然事務(wù)的執(zhí)行是并發(fā)執(zhí)行,但是在數(shù)據(jù)庫的操作中是不會感覺出來其他事務(wù)也在同時執(zhí)行。第四,持久性。事務(wù)的各項操作在執(zhí)行以后,數(shù)據(jù)庫數(shù)據(jù)可以永久保存,這稱為事務(wù)的持久性。

在數(shù)據(jù)庫不出現(xiàn)故障的情況下,所有的事務(wù)都能并發(fā)執(zhí)行和完成。在數(shù)據(jù)庫的運行中,必須做到定時定期的更新,這樣才能保證事務(wù)的完整執(zhí)行和數(shù)據(jù)庫的完整運行。

1.3 并發(fā)產(chǎn)生的問題

在研究中發(fā)現(xiàn),并發(fā)會帶來許多問題。第一,臟讀。一般來說,系統(tǒng)在讀取未提交的數(shù)據(jù)時,第一個事務(wù)會對其進行修改,第二個事務(wù)就會嘗試讀物數(shù)據(jù),這樣就會造成第二個事務(wù)讀取的數(shù)據(jù)與第一次讀取的數(shù)據(jù)不一樣。例如:我們在對文本進行編輯時,第一個人存儲原始數(shù)據(jù),一旦出現(xiàn)第一個人不滿意該文本進行新一次編輯以后,第二個人存取的就是臟數(shù)據(jù)。第二,不可重復(fù)讀。在事務(wù)執(zhí)行的過程中,經(jīng)常會出現(xiàn)事務(wù)讀取同一條指令而結(jié)果不一樣,這是因為事務(wù)讀取數(shù)據(jù)以后,會有一項新的事務(wù)對該數(shù)據(jù)進行修改,并且指令在被事務(wù)讀取以后不會再被二次讀取。第三,丟失更新。當兩個或多個事務(wù)選擇同一行,然后基于最初選定的值更新該行時,只有最后一次更新有效,之前的更新將被覆蓋。每個事務(wù)都不知道其他事務(wù)的存在,最后的更新將重新由其他事務(wù)更新,這將導(dǎo)致數(shù)據(jù)丟失。第四,幻想讀。在一定范圍內(nèi)對事務(wù)進行操作時,而另一個事務(wù)對該范圍內(nèi)的行執(zhí)行不兼容操作時,將會出現(xiàn)幻想讀。例如:在某一文本進行刪除或插入操作時,而這一編輯內(nèi)容不屬于該事務(wù)的讀取范圍,這就非常容易出現(xiàn)幻想讀問題。

2 并發(fā)控制機制分析——鎖機制

在數(shù)據(jù)庫的并發(fā)控制中,最主要的方式是封鎖,而我們在進行這項操作時,事務(wù)的執(zhí)行過程還不能受其他無關(guān)事務(wù)的影響,否則就會出現(xiàn)數(shù)據(jù)的不一致。

在我們使用的SQL數(shù)據(jù)庫中,所有的并發(fā)控制方式都是鎖機制。所謂的鎖機制就是SQL數(shù)據(jù)庫在接受到相關(guān)的請求后,系統(tǒng)會根據(jù)請求的類型添加鎖機制,這樣就能很好的防止系統(tǒng)內(nèi)資源的不兼容鎖,在最大程度上保持數(shù)據(jù)的完整性和一致性。雖然這個機制能夠很好的保證數(shù)據(jù)庫的并發(fā)控制,但是該機制最大的缺陷是容易造成阻塞,尤其是在頻繁操作以后,特別容易出現(xiàn)此類問題,導(dǎo)致數(shù)據(jù)沖突,不能更好地保證數(shù)據(jù)的一致性。

2.1 鎖模式

SQL數(shù)據(jù)庫在給指令加鎖時,會根據(jù)資源指令的類型不同添加不同類型的鎖,這些不同類型的鎖就成為鎖模式。在SQL數(shù)據(jù)庫中主要有以下幾種鎖模式:

第一,共享鎖。共享鎖在學(xué)術(shù)界又被成為讀鎖,其主要的作用是防止事務(wù)在讀取數(shù)據(jù)時修改數(shù)據(jù),并能很好的實現(xiàn)資源的共享。第二,更新鎖。這類鎖主要應(yīng)用于更新資源,同時可以防止資源在更新的過程中被事務(wù)修改,如果一旦出現(xiàn)死鎖,就需要使用另一項請求進行資源的更新。第三,意向鎖。根據(jù)用戶資源級別的不同,數(shù)據(jù)庫在進行資源的存儲時,按資源的優(yōu)先級添加意向鎖。第四,架構(gòu)鎖。當更新對象架構(gòu)時獲取架構(gòu)鎖。第五,鍵范圍鎖。用于保護某一范圍,用于可串行化隔離級別,以防止幻讀。

2.2 封鎖的粒度

在數(shù)據(jù)庫系統(tǒng)里面,封鎖對象的大小被稱為封鎖粒度。在封鎖的時,封鎖的對象既可以是邏輯單元,也可以是物理單元。我們最經(jīng)常使用的SQL數(shù)據(jù)庫,封鎖的對象一般都是屬性值、關(guān)系和索引項等。其主要目的是為了保證數(shù)據(jù)庫中并發(fā)控制方法的運行。

2.3 隔離級別

隔離級別是用于決定控制并發(fā)用戶讀寫數(shù)據(jù)的操作。讀操作可以是任何檢索書庫的語句,默認使用共享鎖,寫操作是指任何對表做出修改的語句,需要使用排他鎖。對于操作獲得的鎖,以及鎖的持續(xù)時間來說,雖然不能控制寫操作的處理方式,但可以控制讀操作的處理方式。當然,作為對讀操作的行為進行控制的一種結(jié)果,也將隱含地影響寫操作的行為方式。可以在會話級別上用會話選項來設(shè)置隔離級別,也可以在查詢級別上用表提示(table hint)來設(shè)置隔離級別。

2.4 SQL數(shù)據(jù)庫中的新特性

在使用的SQL數(shù)據(jù)庫中,出現(xiàn)了一項版本控制的技術(shù),這項技術(shù)的出現(xiàn)使事務(wù)在對數(shù)據(jù)進行修改之前可自行進行備份,這就在很大程度上保證了數(shù)據(jù)庫中數(shù)據(jù)的完整性和一致性。

3 結(jié)語

在信息科學(xué)技術(shù)快速發(fā)展的今天,在我們不斷的努力中,SQL數(shù)據(jù)庫中的并發(fā)控制研究已經(jīng)取得很大進展,但是針對如何實現(xiàn)數(shù)據(jù)庫的并發(fā)控制和健康運行仍有許多需要解決的問題。本文就數(shù)據(jù)庫的有關(guān)概念進行了分析,就數(shù)據(jù)庫的并發(fā)控制方法進行了研究。

[1] 譚玲麗.數(shù)據(jù)庫SQL查詢優(yōu)化方法的研究[J].信息化建設(shè),2015,(11):115-116.

[2] 郝穎.ASP連接SQL Server數(shù)據(jù)庫的方法與技巧的研究[J].科教導(dǎo)刊(電子版),2015,(03):156.

[3] 朱瑪.基于InSQL數(shù)據(jù)庫的航天器遙測數(shù)據(jù)存儲方法研究[J].電子技術(shù)與軟件工程,2015,(17):194-195.

[4] 王睿.SQLServer2005中的數(shù)據(jù)定時統(tǒng)計方法研究[J].中國高新技術(shù)企業(yè),2016,(17):21-23.

[5] 奚寶玲.基于中等職業(yè)學(xué)?!禨QL Server數(shù)據(jù)庫》教學(xué)方法研究[J].電腦迷,2017,(04):65-66.

ThemethodofconcurrentcontrolinSQLdatabase

YU Lei

(Jilin Radio and Television University, Changchun 130022, China)

With the rapid development of information science and technology, the popularization of information technology and the development of the Internet have become faster and faster. At the same time, the number of users has also increased year by year, and the concurrency requirements of data access have become higher and higher. The concurrency control method in the SQL database was researched combining with some classic cases.

SQL database; Concurrency control; Control method

TP311.13

A

1674-8646(2017)20-0154-02

2017-08-16

于雷(1987-),男(滿族),助教,碩士研究生。

猜你喜歡
封鎖事務(wù)級別
“事物”與“事務(wù)”
基于分布式事務(wù)的門架數(shù)據(jù)處理系統(tǒng)設(shè)計與實現(xiàn)
痘痘分級別,輕重不一樣
新世紀智能(高一語文)(2020年5期)2020-07-24 08:27:12
河湖事務(wù)
邁向UHD HDR的“水晶” 十萬元級別的SIM2 CRYSTAL4 UHD
新年導(dǎo)購手冊之兩萬元以下級別好物推薦
你是什么級別的
SQLServer自治事務(wù)實現(xiàn)方案探析
二戰(zhàn)以來三次島嶼封鎖作戰(zhàn)的戰(zhàn)略決策及啟示
軍事歷史(2004年3期)2004-11-22 07:28:36
和硕县| 阆中市| 石屏县| 伽师县| 汝阳县| 扎兰屯市| 临泽县| 东港市| 瑞丽市| 贵溪市| 巴青县| 灵武市| 建湖县| 堆龙德庆县| 临桂县| 常山县| 兴国县| 黄石市| 象州县| 旬阳县| 桓仁| 合水县| 旺苍县| 阳信县| 双辽市| 陕西省| 察隅县| 靖安县| 策勒县| 聂拉木县| 莱西市| 蒙自县| 长岛县| 洪雅县| 崇信县| 泉州市| 隆回县| 利津县| 东台市| 蛟河市| 固阳县|