MongoDB 3.0 的解決數據庫併發問題

在傳統的關係型數據庫(mysql或者 sql server)的事務中,通常在處理併發問題時藉助於他們的特性: 1.原子性 2.一致性 3.隔離性 4.持久性

其中的每個特徵的特性我就不特意進行解釋了,大家可以自行百度
這裏特別說的是隔離性 . 隔離性有四個級別:
1.串行(serializable) 可以有效避免髒讀,不可重複讀 和幻讀的發生 效率最低
2.可重複讀(Repeatable read) 可以避免髒讀,不可重複讀的發生
3.讀已提交(read commited) 可以有效避免髒讀的發生
4.讀未提交(read uncommited) 什麼情況都可以發生 ,但是效率最高
在這裏 我就不解釋髒讀還有幻讀,不可重複的詳細解釋了
髒讀:兩個事物中一個事務讀取了另一個事物中未提交的數據
不可重複讀:在同一個事務中不同時刻讀取數據庫中某個數據時造成兩次讀取結果不同,這是由於查詢間隔期間另一個事物對數據進行了修改. (上鎖可解決)
幻讀:事務1將數據庫中某些數據從一個值修改成另一個值,這時候,事務2往數據庫中插入了一條數據,而這是事務1再查看自己剛纔修改的數據,會發現有一行數據沒有修改,就造成了錯覺 和不可重複讀一樣是讀取了另一個事物中已經提交的內容mongodb處理併發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章