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

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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 漾濞| 房山区| 拉萨市| 开原市| 裕民县| 三亚市| 繁昌县| 韶山市| 壤塘县| 门源| 贵州省| 永年县| 海兴县| 新乐市| 靖江市| 浦北县| 武夷山市| 罗源县| 遵化市| 仁布县| 定边县| 克拉玛依市| 宜城市| 灵丘县| 防城港市| 庄浪县| 新干县| 迭部县| 丰城市| 广西| 屏南县| 丹棱县| 桦甸市| 剑阁县| 黎城县| 德安县| 湖北省| 汕尾市| 绵阳市| 始兴县| 昌宁县|