聽京東張成遠講NewSQL和raft的那些事兒

2021-07-22 16:39:46 字數 1590 閱讀 8841

但是newsql在業界還沒有特別成熟的產品,在實際使用上來說,在效能方面需要進一步提公升。

sql早在70年代左右就被提出來了,後續有一些sql的產品衍生出來供使用者使用。2023年之後,隨著分布式系統的引入,後來發明了nosql,它沒有sql的特性,但是在操作上方便了很多,在擴充套件上也非常便捷。近幾年有人發現,在實際使用過程中,sql比nosql用起來更方便,但是又不像nosql對於海量資料的收縮擴容以及管理容易使用,後來就提出想把nosql跟sql的特性結合起來,就衍生出來了newsql。

什麼是newsql

newsql是一類新的高效能的可擴充套件的資料庫的簡稱,主要能夠解決提供分布式事務的支援,並且可以提供跨資料中心的一致性保證。在一些應用場景中,會對分布式事務有著嚴格的要求,newsql就能夠保證如果某些節點出現了異常現象,可以與另外的節點進行替換,以滿足場景的正常工作。

newsql與傳統資料庫相比的特點是,newsql自身具有的特點就是能夠帶來的效益,主要對分布式事務的支援,以及強一致性和跨資料中心的存活,像在雙十一的時候,提前就可以做一些比較輕鬆的擴容的工作,以及在這個過程中,如果說某個機房有異常,可以很好的進行切換,對整個服務來說可以很好的提供更可用支援。

什麼是raft

raft是分布式系統裡面的一致性的演算法,raft作者曾學習了很久的paxos,後來覺得paxos比較難理解,而且在實現的時候很困難,所以他提出了raft演算法。其最大特點就是比較容易理解,在實現上也相較簡單,主要是通過選舉leader+日誌複製,實現分布式的一致性演算法。

但是在技術網路狀況不太好的情況下,會出現頻繁選取leader的行為,這對整個系統對外提供服務是有影響的,這種情況優先是要改善基礎網路。還有一種情況,某些節點在特殊情況下有網路偶發的發生,這樣也會引起選舉的情況,在具體實現的時候,會有一些優化的措施。其他節點跟leader的通訊是正常的,當這個異常的節點發起選舉的時候,其他的節點就可以拒絕掉這次選舉,這個異常的節點就可以很快恢復到follow的角色,這樣對於整個系統提供乙個穩定的服務會比較有幫助。

raft在newsql中的應用

因為newsql能夠提供分布式事務的支援,也就是acid的支援,同時還要提供高可用,如果有乙個節點掛掉了,可以快速有另外乙個節點接替它。但是在這種場景下,如果要保持已提交的事務沒有丟失,那麼備份的節點來接替這個服務的時候,要保證所有的資料跟異常的節點資料是完全一致的,才能夠真正的接替這個服務。那raft就是解決一致性的問題,保證newsql的儲存節點之間的資料一致。舉個例子,假如說以rocksdb來說,假設newsql的儲存節點是rocksdb,要讓多個rocksdb之間的資料一致,那就在rocksdb上面加一層raft的服務,通過日誌複製的方式,讓彼此之間的資料是一致的。

但是newsql在業界還沒有特別成熟的產品,在實際使用上來說,在效能方面需要進一步提公升。在解決分布式事務的時候,還涉及到兩階段提交,或者變種的兩階段提交,有很多的工程細節的問題,離乙個非常完善的成熟的,可以完全商用的系統來說,還在探索的路上。

2016-08-30 18:01

齊琳 tel:(010)68476606】

京東要開始量子計算了,位元組跳動還會遠嗎

11月25日,在產業轉型加速推進的浪潮下,數智化 全鏈路 社會化三大發展趨勢正在成為 鏈重構和變革的主導方向。在2020京東全球科技探索者大會上,京東首次系統闡釋了面向未來十年的新一代基礎設施 京東數智化社會 鏈,即用數智化技術連線和優化社會生產 流通 服務的各個環節,降低社會成本 提高社會效率。京...

「如程」會員制創新模式 近阿里,遠京東

近年來,無論是 變革創新 的消費零售領域,還是 流量廝殺 的移動網際網路環境,存量時代的到來,將 會員制 經濟推上了新的風口。近日,旅遊民宿行業也玩起了 會員制 聲勢不小。今年 8 月 1 日,如程 會員制特色度假酒店預訂平台正式公開上線。8 月份以來,如程又新上線了約 20 家酒店,截至 8 月 ...