成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

大數(shù)據(jù)存儲:分布式系統(tǒng)的事務(wù)處理

大數(shù)據(jù) 分布式
當(dāng)我們在生產(chǎn)線上用一臺服務(wù)器來提供數(shù)據(jù)服務(wù)的時候,我會遇到如下的兩個問題。

 當(dāng)我們在生產(chǎn)線上用一臺服務(wù)器來提供數(shù)據(jù)服務(wù)的時候,我會遇到如下的兩個問題:

[[129664]]

(1)一臺服務(wù)器的性能不足以提供足夠的能力服務(wù)于所有的網(wǎng)絡(luò)請求。

(2)我們總是害怕我們的這臺服務(wù)器停機(jī),造成服務(wù)不可用或是數(shù)據(jù)丟失。

于是我們不得不對我們的服務(wù)器進(jìn)行擴(kuò)展,加入更多的機(jī)器來分擔(dān)性能上的問題,以及來解決單點(diǎn)故障問題。 通常,我們會通過兩種手段來擴(kuò)展我們的數(shù)據(jù)服務(wù):

(1)數(shù)據(jù)分區(qū):就是把數(shù)據(jù)分塊放在不同的服務(wù)器上(如:uid % 16,一致性哈希等)。

(2)數(shù)據(jù)鏡像:讓所有的服務(wù)器都有相同的數(shù)據(jù),提供相當(dāng)?shù)姆?wù)。

對于第一種情況,我們無法解決數(shù)據(jù)丟失的問題,單臺服務(wù)器出問題時,會有部分?jǐn)?shù)據(jù)丟失。所以,數(shù)據(jù)服務(wù)的高可用性只能通過第二種方法來完成——數(shù)據(jù)的冗余存儲(一般工業(yè)界認(rèn)為比較安全的備份數(shù)應(yīng)該是3份,如:Hadoop和Dynamo)。

但是,加入更多的機(jī)器,會讓我們的數(shù)據(jù)服務(wù)變得很復(fù)雜,尤其是跨服務(wù)器的事務(wù)處理,也就是跨服務(wù)器的數(shù)據(jù)一致性。這個是一個很難的問題。 讓我們用最經(jīng)典的Use Case:“A帳號向B帳號匯錢”來說明一下,熟悉RDBMS事務(wù)的都知道從帳號A到帳號B需要6個操作:

1)從A帳號中把余額讀出來。

2)對A帳號做減法操作。

3)把結(jié)果寫回A帳號中。

4)從B帳號中把余額讀出來。

5)對B帳號做加法操作。

6)把結(jié)果寫回B帳號中。

為了數(shù)據(jù)的一致性,這6件事,要么都成功做完,要么都不成功,而且這個操作的過程中,對A、B帳號的其它訪問必需鎖死,所謂鎖死就是要排除其它的讀寫操作,不然會有臟數(shù)據(jù)的問題,這就是事務(wù)。那么,我們在加入了更多的機(jī)器后,這個事情會變得復(fù)雜起來:

1)在數(shù)據(jù)分區(qū)的方案中:如果A帳號和B帳號的數(shù)據(jù)不在同一臺服務(wù)器上怎么辦?我們需要一個跨機(jī)器的事務(wù)處理。也就是說,如果A的扣錢成功了,但B的加錢不成功,我們還要把A的操作給回滾回去。這在跨機(jī)器的情況下,就變得比較復(fù)雜了。

2)在數(shù)據(jù)鏡像的方案中:A帳號和B帳號間的匯款是可以在一臺機(jī)器上完成的,但是別忘了我們有多臺機(jī)器存在A帳號和B帳號的副本。如果對A帳號的匯錢有兩個并發(fā)操作(要匯給B和C),這兩個操作發(fā)生在不同的兩臺服務(wù)器上怎么辦?也就是說,在數(shù)據(jù)鏡像中,在不同的服務(wù)器上對同一個數(shù)據(jù)的寫操作怎么保證其一致性,保證數(shù)據(jù)不沖突?

同時,我們還要考慮性能的因素,如果不考慮性能的話,事務(wù)得到保證并不困難,系統(tǒng)慢一點(diǎn)就行了。除了考慮性能外,我們還要考慮可用性,也就是說,一臺機(jī)器沒了,數(shù)據(jù)不丟失,服務(wù)可由別的機(jī)器繼續(xù)提供。 于是,我們需要重點(diǎn)考慮下面的這么幾個情況:

1)容災(zāi):數(shù)據(jù)不丟、結(jié)點(diǎn)的Failover

2)數(shù)據(jù)的一致性:事務(wù)處理

3)性能:吞吐量 、 響應(yīng)時間

前面說過,要解決數(shù)據(jù)不丟,只能通過數(shù)據(jù)冗余的方法,就算是數(shù)據(jù)分區(qū),每個區(qū)也需要進(jìn)行數(shù)據(jù)冗余處理。這就是數(shù)據(jù)副本:當(dāng)出現(xiàn)某個節(jié)點(diǎn)的數(shù)據(jù)丟失時可以從副本讀到,數(shù)據(jù)副本是分布式系統(tǒng)解決數(shù)據(jù)丟失異常的唯一手段。所以,在這篇文章中,簡單起見,我們只討論在數(shù)據(jù)冗余情況下考慮數(shù)據(jù)的一致性和性能的問題。簡單說來:

1)要想讓數(shù)據(jù)有高可用性,就得寫多份數(shù)據(jù)。

2)寫多份的問題會導(dǎo)致數(shù)據(jù)一致性的問題。

3)數(shù)據(jù)一致性的問題又會引發(fā)性能問題。

這就是軟件開發(fā),按下了葫蘆起了瓢。

責(zé)任編輯:王雪燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2015-03-16 14:38:16

大數(shù)據(jù)存儲分布式系統(tǒng)事務(wù)處理

2014-01-22 13:37:53

2014-02-11 09:07:31

2022-06-13 10:42:21

分布式事務(wù)數(shù)據(jù)庫

2009-02-05 11:39:41

Oracle甲骨文Tuxedo

2019-11-18 10:19:02

分布式系統(tǒng)事務(wù)模型

2021-09-03 10:37:35

分布式事務(wù)處理

2023-08-16 11:43:57

數(shù)據(jù)引擎

2019-07-30 07:26:26

技術(shù)分布式指標(biāo)

2023-12-29 08:14:41

BASE事務(wù)ServiceB

2023-12-07 08:37:49

TCC模式

2009-07-15 17:41:55

iBATIS事務(wù)處理

2009-09-14 19:55:03

LINQ事務(wù)處理

2023-11-01 10:11:00

Java分布式

2011-04-27 15:55:16

2022-06-22 05:42:32

數(shù)據(jù)庫事務(wù)處理分析查詢

2010-04-13 15:44:00

Oracle與SqlS

2009-07-09 18:15:42

JDBC事務(wù)處理

2023-08-27 16:11:35

數(shù)據(jù)庫分布式事務(wù)數(shù)據(jù)庫

2009-04-15 17:03:15

OracleSQL Server事務(wù)處理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日本午夜网站 | 国产成人精品久久 | 色精品| 国产 日韩 欧美 中文 在线播放 | 国产成人精品久久 | 黄色成人在线观看 | 夜夜夜操| 亚洲三区在线观看 | 伊人二区 | 日韩一区二区不卡 | 成人午夜激情 | 日韩欧美久久精品 | 美女久久 | 国产精品久久久久久久久久久久久 | 五月激情婷婷在线 | 日韩午夜一区二区三区 | 久草在线| 精品日韩在线 | 精品久久精品 | 亚洲一区二区三区免费在线观看 | 亚洲成人999 | 性生生活大片免费看视频 | 亚洲国产精品成人 | 国产欧美一区二区三区免费 | 国产精品污www在线观看 | 中国免费黄色片 | 女女百合av大片一区二区三区九县 | 国产亚洲一区二区三区 | 激情婷婷 | 亚洲影视在线 | 蜜桃传媒av| 青春草国产 | 欧美xxxx性xxxxx高清 | 久久er99热精品一区二区 | 亚洲国产精品第一区二区 | 特黄视频| 91久久国产综合久久 | 美女黄网站视频免费 | 亚洲深夜福利 | 欧美日产国产成人免费图片 | 在线观看欧美日韩视频 |