事務(wù)之再理解

    前言:軟件開發(fā)中的理論和原則以及一些概念芋浮,有時候很難理解亲桦,感覺很深奧嘶窄!但他們都不是憑空想象出來的,他們都是為了解決軟件開發(fā)過程中遇到的某個問題而提出來的方法論。所以學(xué)習(xí)這些理論恤筛,不能脫離現(xiàn)實問題,要從根源上理解提出這些理論的原理、背景猖凛,學(xué)習(xí)的時候結(jié)合現(xiàn)實生活中的某個具體的場景和例子加以理解,有助于理解它的本質(zhì)和實際用法绪穆。軟件開發(fā)本事就是用計算機思維去描述辨泳、解決現(xiàn)實中的問題,軟件開發(fā)中的問題玖院,除了特定語法層面的一些問題菠红,語義方面的問題都可以結(jié)合現(xiàn)實中的問題提出解決方案,至少是參考方案难菌。
    說到事務(wù)试溯,我們首先想到的是他的ACID四個特性以及 Serializable (串行化)、Repeatable read (可重復(fù)讀)郊酒、Read committed (讀已提交)遇绞、Read uncommitted (讀未提交)四種隔離級別键袱。但我們有沒有想過為什么會是這樣子的,為什么是ACID四個特性摹闽,不是其他ABCD其他四個特性蹄咖,為什么不是五個,也就是說這四個特性是針對什么提出來的付鹿?為什么要提出隔離級別這種概念澜汤?
    我們用現(xiàn)實生活中的一個例子去解釋,也許不是特別精準(zhǔn)倘屹,但我們要理解的是他的思想:A和B都在同一個公司工作银亲,他們崗位一樣,工作內(nèi)容一樣纽匙,工資一樣务蝠,該公司對外宣稱:我們公司公平、公正烛缔,沒有潛規(guī)則馏段,沒有特殊對待,大家一視同仁践瓷。到月底了院喜,A的媽媽查了查兒子銀行卡余額,0.22元晕翠,愛子心切的媽媽心想喷舀,待會要去給他打點錢過去了,不然兒子要喝西北風(fēng)了淋肾。出門之前硫麻,她又看了看兒子銀行卡的交易記錄,并記錄下了兒子所有的工資收入記錄樊卓,總共9條記錄拿愧,合計76543.21元,然后他出門去銀行給A轉(zhuǎn)賬碌尔。此時人事過來叫A浇辜、B同時去辦公室(請注意是去辦公室領(lǐng))領(lǐng)工資(因為公司宣揚平等,大家都是同時拿到工資的唾戚,不會有先后)柳洋。他們來到辦公室,老板先是充分肯定了大家最近一月在工作中取得的成績叹坦,并鼓勵大家再接再厲膳灶,再創(chuàng)輝煌。。轧钓。序厉。。毕箍。然后遞給A一個鼓鼓的紅包弛房,接著又遞給B一個(注意這里有先后,你很難保證老板能同時給A而柑、B紅包文捶,他就算采用左手遞給A同時右手遞給B,從毫秒媒咳、納秒層級來看粹排,這里的‘同時’也不是絕對同時的,也就是說從絕對意義上來講涩澡,是達不到完全一致性的)顽耳,然后A和B高興地拿著紅包一起出去了......
    上面這個場景中,我們似乎覺得妙同,這并沒有滿足嚴格意義上的一致性射富!從這個意義上(上帝視角)來看,確實是粥帚,公司并沒有兌現(xiàn)他“完全公平”的承諾胰耗,A先與B兩秒拿到錢,并且從這個意義上講芒涡,似乎根本不可能兌現(xiàn)柴灯。但是,這里有一個很重要的問題费尽,也就是視角的問題赠群,我們現(xiàn)實中不是站在上帝的視角,而是站在第三方視角依啰,也就是站在公司的其他員工角度(程序中是站在調(diào)用者視角)。A店枣、B走出辦公室后速警,C看到他們同時出來了,并且手里都有相同的紅包鸯两,他會覺得:老板兌現(xiàn)了他的承諾闷旧。至于A、B是怎樣拿到到紅包的細節(jié)他們是看不見的钧唐,因為他們都是在辦公室里發(fā)生的(事務(wù))忙灼,辦公室發(fā)生的一切他們都不知道。也許中間他們還有討論績效是不是太少了,但最終他們都有一個統(tǒng)一的答案该园,拒絕還是接受(一致性)酸舍,這些對于公司其他同事也是不可知的(隔離),他們拿了工資簽了字后里初,這事就翻篇了啃勉,塵埃落定了(持久性)。
    再細講下去双妨,在A淮阐、B正在討論績效是否低了的時候,D有急事跑了進去(隔離級別太低刁品,辦公室門沒上鎖)泣特,D出來后E問D:A、B同意了嗎挑随?D說:沒有状您,他們說績效有點低(其實最終A、B是同意了的)镀裤,E就得到了“假”數(shù)據(jù)(臟讀)竞阐。這是A的媽媽到了銀行,一查A的銀行卡余額:8888.22暑劝,她懷疑自己眼花了骆莹,揉了揉眼睛又看了一看,還是8888.22.他傻眼了担猛,剛剛明明是0.22(不可重復(fù)讀)幕垦。當(dāng)?shù)弥莾鹤觿偘l(fā)工資后,他回家了傅联∠雀模回到家里有閑著沒事翻了翻兒子銀行卡的轉(zhuǎn)賬記錄,咦蒸走,怎么又10條了仇奶?剛剛不是才9條么?我是產(chǎn)生幻覺了么(幻讀)比驻,聰明的你應(yīng)該知道這是什么原因吧该溯!。别惦。狈茉。。掸掸。氯庆。
    那怎么解決上述的這些問題呢蹭秋?說白了,就是加大管控力度堤撵,比如辦公室上鎖仁讨,閑雜人等禁止入內(nèi)!要發(fā)工資期間工資卡不讓別人隨便用......管控力度不同粒督,能解決的問題級別不同陪竿,這就是隔離級別......詳情下回分解。
   后記:上面的討論提出一個觀點屠橄,事務(wù)保證的強一致性是站在第三方角度說的族跛,并不是絕對意義上的,上帝視角的一致性锐墙。但礁哄,我們都是讀過書的人,是不會信上帝的溪北,也就是說沒必要追求上帝視角的一致性桐绒。所以,在現(xiàn)實中我們所討論的很多問題都不是考慮他的絕對意義之拨,都不是站在上帝視角的茉继,而是站在整個社會視角的。比如我們社會主義核心價值觀中就有“自由蚀乔、平等烁竭、公正"三項,這里說的自由吉挣、平等派撕、公正并不是絕對意義上的,他不是微觀的睬魂,個人的终吼、上帝視角的自由、平等氯哮、公正际跪,而是整個社會的,就像例子中的A喉钢、B所在的公司一樣姆打。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市出牧,隨后出現(xiàn)的幾起案子穴肘,更是在濱河造成了極大的恐慌歇盼,老刑警劉巖舔痕,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡伯复,警方通過查閱死者的電腦和手機慨代,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啸如,“玉大人侍匙,你說我怎么就攤上這事《vǎ” “怎么了想暗?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長帘不。 經(jīng)常有香客問我说莫,道長,這世上最難降的妖魔是什么寞焙? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任储狭,我火速辦了婚禮,結(jié)果婚禮上捣郊,老公的妹妹穿的比我還像新娘辽狈。我一直安慰自己,他們只是感情好呛牲,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布刮萌。 她就那樣靜靜地躺著,像睡著了一般侈净。 火紅的嫁衣襯著肌膚如雪尊勿。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天畜侦,我揣著相機與錄音元扔,去河邊找鬼。 笑死旋膳,一個胖子當(dāng)著我的面吹牛澎语,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播验懊,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼擅羞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了义图?” 一聲冷哼從身側(cè)響起减俏,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎碱工,沒想到半個月后娃承,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奏夫,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年历筝,在試婚紗的時候發(fā)現(xiàn)自己被綠了酗昼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡梳猪,死狀恐怖麻削,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情春弥,我是刑警寧澤呛哟,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站匿沛,受9級特大地震影響竖共,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜俺祠,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一公给、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜘渣,春花似錦淌铐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拾碌,卻和暖如春吐葱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背校翔。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工弟跑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人防症。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓孟辑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蔫敲。 傳聞我的和親對象是個殘疾皇子饲嗽,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容