JavaEE中的交易管理——事務概述(1),javaee事務

來源:互聯網
上載者:User

JavaEE中的交易管理——事務概述(1),javaee事務

今天打算說一說交易管理,讀者可能瞭解也有可能不瞭解,其實很簡單(大牛請自行繞過)。本來想引用個成語的啥的來描述事務的特點,但是搜腸刮肚也沒有發現合適的,於是就找了下面幾組成語來描述事務性。其實在官方文檔中對於事務的描述也是分四個方面來說的。這裡算是用自己的理解解釋一下罷了。

第一對詞語是:“開弓沒有回頭箭”和“前功盡棄”(功虧一簣?功敗垂成?)

這一對詞語結合起來看就是事務的原子性,就是我們平時說的要做就做完,要不做就一點兒也不要做。其中前面的做完就是說明這個事務已經成功了,後面說的是在執行失敗的時候需要復原事務,也就是說保持原樣不變(請參考接下來的特性——一致性)。

第二對詞語是:“守口如瓶”和“表裡如一”

這對詞語結合起來看就是事務的一致性,意思就是一個事務結束後那麼資料將是有效,不是不可以理解的。話句話說這個特性是上一個特性的補充,做了一半不想做了,那對不起你得給我恢複原樣,不能一部分資料更改了,另一部分沒有更改。

第三對詞語是:“事不關己高高掛起”和“各掃自家門前雪,莫管他人瓦上霜”

這對詞語翻譯成白話文就是“管我屁事”,這裡表述了事務的另一個特性——隔離性。也就是說不同的事務之間是沒有關係的,當事務提交之後其他的事務才能看到更改,否則對於外部的事務來說好似一個黑盒子,不知道裡面在幹什麼。

第四對詞語是:“塵埃落定”和“生米煮成熟飯”

這對詞語的意思就是一切都已經完成,別想後悔了。映射到事務的特性裡面就是持久性。一旦事務完成之後那麼就意味著在事務中做出的更改將繼續保持,當然後面另一個事務變更就是另一碼事了。

官方文檔上說滿足以上四個特點的事務稱之為ACID事務(其中A:atomicity,C:consistency,I:isolation,D:durability)。但是在滿足ACID屬性的時候人們考慮到效能問題會採取靈活的策略。比如資料的隔離等級問題,人們可以規定比之前更加寬鬆或者更加嚴格的規定。(具體可參照維基百科“事務隔離”詞條。)人們這樣規定是為了提升效能,或者是為了得到更加一致性的資料。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.