自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

聽(tīng)京東張成遠(yuǎn)講NewSQL和raft的那些事兒

原創(chuàng)
開(kāi)發(fā)
但是NewSQL在業(yè)界還沒(méi)有特別成熟的產(chǎn)品,在實(shí)際使用上來(lái)說(shuō),在性能方面需要進(jìn)一步提升。

2016中國(guó)應(yīng)用性能管理大會(huì)(簡(jiǎn)稱APMCon 2016)于8月18日至19日在北京新云南皇冠假日酒店隆重召開(kāi)。APMCon由聽(tīng)云、極客邦和InfoQ聯(lián)合主辦的作為國(guó)內(nèi)APM領(lǐng)域***影響力的技術(shù)大會(huì),***舉辦的APMCon以“驅(qū)動(dòng)應(yīng)用架構(gòu)優(yōu)化與創(chuàng)新”為主題,致力于推動(dòng)APM在國(guó)內(nèi)的成長(zhǎng)與發(fā)展。京東商城高級(jí)架構(gòu)師 張成遠(yuǎn)在大會(huì)現(xiàn)場(chǎng)接受記者采訪。

SQL早在70年代左右就被提出來(lái)了,后續(xù)有一些SQL的產(chǎn)品衍生出來(lái)供用戶使用。2000年之后,隨著分布式系統(tǒng)的引入,后來(lái)發(fā)明了NoSQL,它沒(méi)有SQL的特性,但是在操作上方便了很多,在擴(kuò)展上也非常便捷。近幾年有人發(fā)現(xiàn),在實(shí)際使用過(guò)程中,SQL比NoSQL用起來(lái)更方便,但是又不像NoSQL對(duì)于海量數(shù)據(jù)的收縮擴(kuò)容以及管理容易使用,后來(lái)就提出想把NoSQL跟SQL的特性結(jié)合起來(lái),就衍生出來(lái)了NewSQL。

什么是NewSQL

NewSQL是一類新的高性能的可擴(kuò)展的數(shù)據(jù)庫(kù)的簡(jiǎn)稱,主要能夠解決提供分布式事務(wù)的支持,并且可以提供跨數(shù)據(jù)中心的一致性保證。在一些應(yīng)用場(chǎng)景中,會(huì)對(duì)分布式事務(wù)有著嚴(yán)格的要求,NewSQL就能夠保證如果某些節(jié)點(diǎn)出現(xiàn)了異?,F(xiàn)象,可以與另外的節(jié)點(diǎn)進(jìn)行替換,以滿足場(chǎng)景的正常工作。

NewSQL與傳統(tǒng)數(shù)據(jù)庫(kù)相比的特點(diǎn)是,NewSQL自身具有的特點(diǎn)就是能夠帶來(lái)的效益,主要對(duì)分布式事務(wù)的支持,以及強(qiáng)一致性和跨數(shù)據(jù)中心的存活,像在雙十一的時(shí)候,提前就可以做一些比較輕松的擴(kuò)容的工作,以及在這個(gè)過(guò)程中,如果說(shuō)某個(gè)機(jī)房有異常,可以很好的進(jìn)行切換,對(duì)整個(gè)服務(wù)來(lái)說(shuō)可以很好的提供更可用支持。

什么是raft

raft是分布式系統(tǒng)里面的一致性的算法,raft作者曾學(xué)習(xí)了很久的PAXOS,后來(lái)覺(jué)得PAXOS比較難理解,而且在實(shí)現(xiàn)的時(shí)候很困難,所以他提出了raft算法。其***特點(diǎn)就是比較容易理解,在實(shí)現(xiàn)上也相較簡(jiǎn)單,主要是通過(guò)選舉leader+日志復(fù)制,實(shí)現(xiàn)分布式的一致性算法。

但是在技術(shù)網(wǎng)絡(luò)狀況不太好的情況下,會(huì)出現(xiàn)頻繁選取leader的行為,這對(duì)整個(gè)系統(tǒng)對(duì)外提供服務(wù)是有影響的,這種情況優(yōu)先是要改善基礎(chǔ)網(wǎng)絡(luò)。還有一種情況,某些節(jié)點(diǎn)在特殊情況下有網(wǎng)絡(luò)偶發(fā)的發(fā)生,這樣也會(huì)引起選舉的情況,在具體實(shí)現(xiàn)的時(shí)候,會(huì)有一些優(yōu)化的措施。其他節(jié)點(diǎn)跟leader的通信是正常的,當(dāng)這個(gè)異常的節(jié)點(diǎn)發(fā)起選舉的時(shí)候,其他的節(jié)點(diǎn)就可以拒絕掉這次選舉,這個(gè)異常的節(jié)點(diǎn)就可以很快恢復(fù)到follow的角色,這樣對(duì)于整個(gè)系統(tǒng)提供一個(gè)穩(wěn)定的服務(wù)會(huì)比較有幫助。

raft在NewSQL中的應(yīng)用

因?yàn)镹ewSQL能夠提供分布式事務(wù)的支持,也就是ACID的支持,同時(shí)還要提供高可用,如果有一個(gè)節(jié)點(diǎn)掛掉了,可以快速有另外一個(gè)節(jié)點(diǎn)接替它。但是在這種場(chǎng)景下,如果要保持已提交的事務(wù)沒(méi)有丟失,那么備份的節(jié)點(diǎn)來(lái)接替這個(gè)服務(wù)的時(shí)候,要保證所有的數(shù)據(jù)跟異常的節(jié)點(diǎn)數(shù)據(jù)是完全一致的,才能夠真正的接替這個(gè)服務(wù)。那raft就是解決一致性的問(wèn)題,保證NewSQL的存儲(chǔ)節(jié)點(diǎn)之間的數(shù)據(jù)一致。舉個(gè)例子,假如說(shuō)以ROCKSDB來(lái)說(shuō),假設(shè)NewSQL的存儲(chǔ)節(jié)點(diǎn)是ROCKSDB,要讓多個(gè)ROCKSDB之間的數(shù)據(jù)一致,那就在ROCKSDB上面加一層Raft的服務(wù),通過(guò)日志復(fù)制的方式,讓彼此之間的數(shù)據(jù)是一致的。

但是NewSQL在業(yè)界還沒(méi)有特別成熟的產(chǎn)品,在實(shí)際使用上來(lái)說(shuō),在性能方面需要進(jìn)一步提升。在解決分布式事務(wù)的時(shí)候,還涉及到兩階段提交,或者變種的兩階段提交,有很多的工程細(xì)節(jié)的問(wèn)題,離一個(gè)非常完善的成熟的,可以完全商用的系統(tǒng)來(lái)說(shuō),還在探索的路上。

 

責(zé)任編輯:陳琳 來(lái)源: 51cto
相關(guān)推薦

2016-04-20 17:18:29

分布式數(shù)據(jù)庫(kù)京東WOT

2022-11-04 07:57:59

編程編碼編譯器

2018-08-17 10:30:52

JavaDocker限制

2021-05-22 09:44:21

PythonNumpy數(shù)組Python矩陣

2023-04-11 07:34:40

分布式系統(tǒng)算法

2021-03-18 09:01:53

軟件開(kāi)發(fā)軟件選型

2011-02-25 14:35:00

2018-09-26 06:50:19

2021-06-02 08:33:31

TPCTPC-H系統(tǒng)

2022-02-08 17:39:04

MySQL服務(wù)器存儲(chǔ)

2013-12-26 14:23:03

定位系統(tǒng)GPS監(jiān)測(cè)

2021-06-09 13:28:40

密碼安全身份認(rèn)證數(shù)據(jù)安全

2018-02-02 13:58:59

數(shù)據(jù)存儲(chǔ)

2012-07-19 15:30:00

Linux

2017-08-09 08:25:35

DBA數(shù)據(jù)庫(kù)OLAP

2010-04-07 13:13:19

Visual Stud

2013-07-09 13:50:05

2022-08-04 10:18:32

棧遷移?寄存器內(nèi)存

2021-05-10 08:58:09

Harbor架構(gòu)Registry 服務(wù)

2010-10-15 10:31:00

點(diǎn)贊
收藏

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