關(guān)于db事務(wù)的理解

          Posted on 2006-10-25 10:27 英雄 閱讀(656) 評(píng)論(0)  編輯  收藏
          對(duì)于事務(wù),往往有兩方面需求,一方面是希望幾個(gè)動(dòng)作要么全部做了,要么全部當(dāng)沒(méi)發(fā)生過(guò);另一方面則是同步的需求,希望這一系列動(dòng)作是在一瞬間完成,就是在這段時(shí)間沒(méi)有別人的動(dòng)作發(fā)生。
          db提供了事務(wù)的支持,雖然各個(gè)數(shù)據(jù)庫(kù)支持的細(xì)節(jié)還不太一樣,但都在這兩方面的范疇內(nèi)。
          應(yīng)用系統(tǒng)是db+應(yīng)用軟件的產(chǎn)物。所以在應(yīng)用系統(tǒng)中滿足事務(wù)的需求就不能僅僅從db獲得支持。比如,一個(gè)請(qǐng)求的處理既要改表,又要?jiǎng)h除文件。對(duì)于第一方面的需求,如果要回滾事務(wù),db可以回滾表,文件卻得自己刪除。第二方面的需求,db可以提高事務(wù)隔離級(jí)別,或lock多個(gè)表,對(duì)于應(yīng)用軟件內(nèi)存的共享資源就得自己設(shè)置鎖監(jiān)控。(有時(shí)候用戶希望在幾個(gè)請(qǐng)求處理來(lái)回中實(shí)現(xiàn)不被別人改表。)
          因?yàn)槭聞?wù)控制細(xì)節(jié)不一樣,最麻煩的是怎么移植數(shù)據(jù)庫(kù)。我想,不如這樣使用db的事務(wù)機(jī)制。只使用它的回滾功能。對(duì)于同步功能,使用監(jiān)控內(nèi)存對(duì)象來(lái)完成。這樣整個(gè)系統(tǒng)統(tǒng)一使用數(shù)據(jù)庫(kù)的對(duì)第一方面的需求支持就可以(jdbc好像使用默認(rèn)隔離級(jí)別就行)。不知道這樣的理解有沒(méi)有問(wèn)題,拋磚引玉,敬請(qǐng)大家討論!

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 扎囊县| 太仓市| 喀喇| 宝山区| 雷州市| 舟曲县| 监利县| 大英县| 华宁县| 枝江市| 鸡西市| 新平| 喀喇沁旗| 鄢陵县| 阜康市| 汤阴县| 辛集市| 威远县| 双鸭山市| 嘉定区| 大新县| 舒兰市| 冕宁县| 台北市| 旌德县| 宜宾市| 泽州县| 德保县| 大姚县| 南部县| 扶风县| 望谟县| 纳雍县| 富顺县| 登封市| 定远县| 赤城县| 奇台县| 邓州市| 桦甸市| 汉沽区|