日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
為什么大部分NoSQL不提供分布式事務(wù)?

為什么大部分NoSQL不提供分布式事務(wù)?

作者:banq 2015-11-05 17:41:25

云計算

分布式 NoSQL數(shù)據(jù)庫不提供事務(wù)機制原因在于其分布式特點,一系列寫操作中訪問的數(shù)據(jù)可能位于不同的分區(qū)服務(wù)器,這樣的事務(wù)就變成分布式事務(wù),在分布式事務(wù)中實現(xiàn)原子性需要彼此協(xié)調(diào),而協(xié)調(diào)是耗費時間的,每臺機器在一個大事務(wù)過程中必須依次確認,這就需要一種協(xié)議確保一個事務(wù)中沒有任何一臺機器寫操作失敗。這種協(xié)調(diào)是昂貴的。

成都創(chuàng)新互聯(lián)主要為客戶提供服務(wù)項目涵蓋了網(wǎng)頁視覺設(shè)計、VI標志設(shè)計、營銷推廣、網(wǎng)站程序開發(fā)、HTML5響應(yīng)式成都網(wǎng)站建設(shè)公司、手機網(wǎng)站制作設(shè)計、微商城、網(wǎng)站托管及成都網(wǎng)站維護公司、WEB系統(tǒng)開發(fā)、域名注冊、國內(nèi)外服務(wù)器租用、視頻、平面設(shè)計、SEO優(yōu)化排名。設(shè)計、前端、后端三個建站步驟的完善服務(wù)體系。一人跟蹤測試的建站服務(wù)標準。已經(jīng)為成都門窗定制行業(yè)客戶提供了網(wǎng)站營銷推廣服務(wù)。

像MongoDB, Cassandra, HBase, DynamoDB, 和 Riak這些NoSQL缺乏傳統(tǒng)的原子事務(wù)機制,所謂原子事務(wù)機制是可以保證一系列寫操作要么全部完成,要么全部不會完成,不會發(fā)生只完成一系列中一兩個寫操作;因為數(shù)據(jù)庫不提供這種事務(wù)機制支持,開發(fā)者需要自己編寫代碼來確保一系列寫操作的事務(wù)機制,比較復(fù)雜和測試。

這些NoSQL數(shù)據(jù)庫不提供事務(wù)機制原因在于其分布式特點,一系列寫操作中訪問的數(shù)據(jù)可能位于不同的分區(qū)服務(wù)器,這樣的事務(wù)就變成分布式事務(wù),在分布式事務(wù)中實現(xiàn)原子性需要彼此協(xié)調(diào),而協(xié)調(diào)是耗費時間的,每臺機器在一個大事務(wù)過程中必須依次確認,這就需要一種協(xié)議確保一個事務(wù)中沒有任何一臺機器寫操作失敗。

這種協(xié)調(diào)是昂貴的,會增加延遲時間,關(guān)鍵問題是,當協(xié)調(diào)沒有完成時,其他操作是不能讀取事務(wù)中寫操作結(jié)果的,這是因為事務(wù)的all-or-nothing原理導(dǎo)致,萬一協(xié)調(diào)過程發(fā)現(xiàn)某個寫操作不能完成,那么需要將其他寫操作成功的進行回滾。針對分布式事務(wù)的分布式協(xié)調(diào)對整體數(shù)據(jù)庫性能有嚴重影響,不只是吞吐量還包括延遲時間,這樣大部分NoSQL數(shù)據(jù)庫因為性能問題就選擇不提供分布式事務(wù)。

MongoDB, Riak, HBase, 和 Cassandra提供基于單一鍵的事務(wù),這是因為所有信息都和一個鍵key有關(guān),這個鍵是存儲在單個服務(wù)器上,這樣基于單鍵的事務(wù)不會帶來復(fù)雜的分布式協(xié)調(diào)。

那么看來擴展性性能和分布式事務(wù)是一對矛盾,總要有取舍?實際上是不完全是,現(xiàn)在完全有可能提供高擴展的性能同時提供分布式原子事務(wù)。

FIT是這樣一個在分布式系統(tǒng)提供原子事務(wù)的策略,在fairness公平性, isolation隔離性, 和throughput吞吐量(簡稱FIT)可以權(quán)衡。

一個支持分布式事務(wù)的可伸縮分布式系統(tǒng)能夠完成這三個屬性中兩個,公平是事務(wù)之間不會相互影響造成延遲;隔離性提供一種幻覺好像整個數(shù)據(jù)庫只有它自己一個事務(wù),隔離性保證當任何同時發(fā)生的事務(wù)發(fā)生沖突時,能夠保證彼此能看到彼此的寫操作結(jié)果,因此減輕了程序員為避免事務(wù)讀寫沖突的強邏輯推理要求;吞吐量是指每單元時間數(shù)據(jù)庫能夠并發(fā)處理多少事務(wù)。

FIT是如下進行權(quán)衡:

  1. 保證公平性fairness 和隔離性isolation, 但是犧牲吞吐量
  2. 保證公平性fairness和吞吐量, 犧牲隔離性isolation
  3. 保證隔離性isolation和吞吐量throughput, 但是犧牲公平性fairness.

犧牲公平性:放棄公平性,數(shù)據(jù)庫能有更多機會降低分布式事務(wù)的成本,主要成本是分布式協(xié)調(diào)帶來的,也就是說,不需要在每個事務(wù)過程內(nèi)對每個機器都依次確認事務(wù)完成,這樣排隊式的確認commit事務(wù)是很浪費時間的,放棄公平性,意味著可以在事務(wù)外面進行協(xié)調(diào),這樣就只是增加了協(xié)調(diào)時間,不會增加互相沖突事務(wù)因為彼此沖突而不能運行所耽擱的時間,當系統(tǒng)不需要公平性時,需要根據(jù)事務(wù)的優(yōu)先級或延遲等標準進行指定先后執(zhí)行順序,這樣就能夠獲得很好的吞吐量。

G-Store是一種放棄公平性的 Isolation-Throughput 的分布式key-value存儲,支持多鍵事務(wù)(multi-key transactions),MongoDB 和 HBase在鍵key在同樣分區(qū)上也支持多鍵事務(wù),但是不支持跨分區(qū)的事務(wù)。

總之:傳統(tǒng)分布式事務(wù)性能不佳的原因是確保原子性(分布式協(xié)調(diào))和隔離性同時重疊,創(chuàng)建一個高吞吐量分布式事務(wù)的關(guān)鍵是分離這兩種關(guān)注,這種分離原子性和隔離性的視角將導(dǎo)致兩種類型的系統(tǒng),***種選擇是弱隔離性能讓沖突事務(wù)并行執(zhí)行和確認提交;第二個選擇重新排序原子性和隔離性機制保證它們不會某個時間重疊,這是一種放棄公平的事務(wù)執(zhí)行,所謂放棄公平就是不再同時照顧原子性和隔離性了,有所傾斜,放棄高標準道德要求就會帶來高自由高效率。

原文鏈接:http://www.jdon.com/47671


文章題目:為什么大部分NoSQL不提供分布式事務(wù)?
本文鏈接:http://www.dlmjj.cn/article/ccephic.html