鍍金池/ 問答/數(shù)據(jù)庫/ 請(qǐng)問分布式架構(gòu)數(shù)據(jù)庫是怎么弄的???

請(qǐng)問分布式架構(gòu)數(shù)據(jù)庫是怎么弄的???

最近在學(xué)習(xí)分布式架構(gòu),別的基本搞懂了,數(shù)據(jù)庫這塊是怎樣搞?
我一直用的mysql,就拿mysql來說

比如我現(xiàn)在有A,B兩個(gè)數(shù)據(jù)庫,server根據(jù)負(fù)載均衡有可能寫入A或者寫入B
疑問主要是數(shù)據(jù)庫是怎樣同步的,我知道m(xù)ysql有個(gè)主從數(shù)據(jù)庫同步的功能,但是那個(gè)及時(shí)性怎樣呢?比如某客戶端往數(shù)據(jù)庫A里面插入了1條數(shù)據(jù),然后該客戶端掉線了,重連,這時(shí)候他重做了一遍操作,恰好這次他插入到B數(shù)據(jù)庫,而這時(shí)候A,B兩個(gè)數(shù)據(jù)庫還沒來得及同步,這豈不是有2條重復(fù)數(shù)據(jù)了?

請(qǐng)問有經(jīng)驗(yàn)的大俠說一下這一塊通常情況是怎樣搞的? 或者說我說的這種架構(gòu)是錯(cuò)的,通常采用別的辦法而不是多個(gè)數(shù)據(jù)庫來分擔(dān)負(fù)載?

回答
編輯回答
墻頭草

你說的這個(gè)在MySQL里不是主從,而是雙主(因?yàn)橐粫?huì)兒寫A,一會(huì)兒寫B(tài)),主從的意思是寫永遠(yuǎn)都寫主,再異步同步到從。

實(shí)際項(xiàng)目中一般不用雙主(可靠性和可維護(hù)性不如主從),主從的應(yīng)用卻很廣泛,而且一般主從也夠了,因?yàn)橹鲝哪J揭呀?jīng)很好的分擔(dān)掉讀操作,大部分應(yīng)用都是寫少讀多,從我個(gè)人的經(jīng)驗(yàn),不建議使用MySQL的多主。

2017年1月14日 23:21
編輯回答
情已空

正式場(chǎng)合的分布式數(shù)據(jù)庫是不會(huì)隨機(jī)選擇分區(qū)存儲(chǔ)數(shù)據(jù)的,而是按照哈希算法存到對(duì)應(yīng)的數(shù)據(jù)庫里,例如有0-3四個(gè)數(shù)據(jù)庫,存數(shù)據(jù)的的時(shí)候按照uid % 4來存到對(duì)應(yīng)的數(shù)據(jù)庫分區(qū)去,出錯(cuò)了的話重試的時(shí)候也不會(huì)變

2017年12月30日 14:42