關(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ù)機制。只使用它的回滾功能。對于同步功能,使用監(jiān)控內(nèi)存對象來完成。這樣整個系統(tǒng)統(tǒng)一使用數(shù)據(jù)庫的對第一方面的需求支持就可以(jdbc好像使用默認(rèn)隔離級別就行)。不知道這樣的理解有沒有問題,拋磚引玉,敬請大家討論!

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乌鲁木齐市| 盱眙县| 鸡泽县| 灵山县| 周宁县| 浦县| 本溪| 育儿| 崇礼县| 芦溪县| 漳州市| 长汀县| 灯塔市| 虎林市| 五常市| 两当县| 道孚县| 鱼台县| 茂名市| 汾阳市| 师宗县| 新密市| 涞源县| 溆浦县| 泗阳县| 米林县| 青冈县| 延长县| 邳州市| 古蔺县| 延寿县| 平顶山市| 大厂| 长岭县| 宁晋县| 东城区| 阿坝县| 永泰县| 安顺市| 马关县| 高邑县|