0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分布式存儲的技術(shù)原理

jf_78858299 ? 來源:老李說架構(gòu)之道 ? 作者: 夢海飛翔 ? 2023-02-15 15:38 ? 次閱讀

CAP定理: 在一個分布式計算機系統(tǒng)中,一致性,可用性和分區(qū)容錯性這三種保證無法同時得到滿足;

Consistency  一致性
Availability 可用性
Partition Tolerance 分區(qū)容錯性

CAP取舍

CP:發(fā)生分區(qū),需要犧牲用戶的體驗,等待所有數(shù)據(jù)全部一致了之后再讓用戶訪問系統(tǒng)。

AP:發(fā)生分區(qū),為了高可用,每個節(jié)點只能用本地數(shù)據(jù)提供服務(wù),會導(dǎo)致全局數(shù)據(jù)的不一致性。

理想情況下,單機數(shù)據(jù)庫 AC 模型

分布式數(shù)據(jù)庫系統(tǒng) CP模型

單機數(shù)據(jù)庫分布式解決方案:例如mysql

  • 垂直拆分
  • 水平拆分
  • 讀寫分離

帶來問題:

  • 業(yè)務(wù)侵入大,維護成本高
  • 帶來分布式事務(wù)問題

分布數(shù)據(jù)庫特性

  • 存儲量不受單機容量限制
  • 計算能力不受單機資源限制
  • 擴展性強
  • 容錯能力強
  • 數(shù)據(jù)可靠性高

分布數(shù)據(jù)庫設(shè)計思路

  • 多副本的存儲

    保證數(shù)據(jù)一致性
    
                一般KV存儲模型
    
  • 主從模型:

    提供數(shù)據(jù)分片路由支持

多副本的存儲方式

圖片

技術(shù)難點——熱數(shù)據(jù)問題

  • 熱點數(shù)據(jù)
    數(shù)據(jù)分快
    
            熱數(shù)據(jù)遷移
    

解決思路:實時調(diào)整塊位置將讀寫頻繁的塊均勻分布在各個存儲節(jié)點;

技術(shù)難點——原子性問題

  • 保障多個Key寫入的原子性

解決思路:一般都遵守Google Percolator分布式事務(wù)。(在這里不具體講)

采取的樂觀鎖的方式,如圖所示:

圖片

兩階段提交:Prewrite(預(yù)寫)、commit(提交);并發(fā)沖突提交的問題。

如圖所示:

圖片

RocksDB數(shù)據(jù)庫存儲原理

RocksDB:使用C++編寫的嵌入式kv存儲引擎,其鍵值均允許使用二進制流。由Facebook基于levelDB開發(fā)。

  • LSM的設(shè)計依據(jù)

    隨機寫轉(zhuǎn)換成順序?qū)?/p>

    優(yōu)化讀性能

  • 三種數(shù)據(jù)結(jié)構(gòu)

    MenTable

    logfile

    sstfiles

    如下圖:

圖片

RocksDB寫入

  • 插入
    記錄log
    
          MenTable寫入新記錄
    
  • 更新
    記錄log
    
          MenTable寫入新記錄
    
  • 刪除
    記錄log
    
          MenTable標(biāo)記key刪除
    

WAL:write-ahead log,確保數(shù)據(jù)不丟失全部是內(nèi)存寫入,沒有磁盤I/O

MenTable寫滿后寫入磁盤,順序I/O。

LSM讀

  • 讀MemTable

  • 定位sslFile,文件內(nèi)查找

    圖片

RocksDB首先會去查看內(nèi)存中的Memtable,如果Memtable中包含key及其對應(yīng)的value,則返回value值即可;如果在Memtable沒有讀到key,則接下來到同樣處于內(nèi)存中的Memtable中去讀取,類似地,如果讀到就返回,若是沒有讀到,那么會從磁盤中的SSTable文件中查找。

RocksDB為了提高讀取速遞,增加了讀cache和Bloomfilter。

上面的分布式存儲原理都理解了,那我們具體的tidb的架構(gòu)原理就很簡單了。

TiDB架構(gòu)

  • 基于RocksDB
  • Raft一致性協(xié)議
  • Etcd存儲元數(shù)據(jù)
  • 支持OLTA
  • 支持OLAP

圖片

MySql遷移到TiDb:數(shù)據(jù)遷移和流量遷移

數(shù)據(jù)遷移:

            1、支持主從同步的方式

            2、雙寫(MQ)
流量遷移:

            1、切讀

            2、停雙寫

如下圖所示:

圖片

注意的事項:

樂觀鎖沖突的問題,使用分布式鎖,串行化處理解決;
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 計算機系統(tǒng)
    +關(guān)注

    關(guān)注

    0

    文章

    290

    瀏覽量

    24544
  • 分布式
    +關(guān)注

    關(guān)注

    1

    文章

    982

    瀏覽量

    75203
  • CAP
    CAP
    +關(guān)注

    關(guān)注

    0

    文章

    21

    瀏覽量

    2221
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

    視頻監(jiān)控中分布式存儲技術(shù)方案

     在一個視頻監(jiān)控系統(tǒng)中,選擇什么樣的存儲解決方案直接決定了整個系統(tǒng)的系統(tǒng)架構(gòu)以及系統(tǒng)的性能和穩(wěn)定程度,目前視頻監(jiān)控系統(tǒng)中的存儲方案大致上有兩種。視頻監(jiān)控系統(tǒng)存儲方案
    發(fā)表于 03-10 10:22 ?4875次閱讀

    深度解讀分布式存儲技術(shù)分布式剪枝系統(tǒng)

    分布式文件系統(tǒng)存儲目標(biāo)以非結(jié)構(gòu)化數(shù)據(jù)為主,但在實際應(yīng)用中,存在大量的結(jié)構(gòu)化和半結(jié)構(gòu)化的數(shù)據(jù)存儲需求。分布式鍵值系統(tǒng)是一種有別于我們所熟悉的分布式
    發(fā)表于 10-27 09:25 ?1994次閱讀

    什么是分布式存儲技術(shù)?有哪些應(yīng)用?

    分布式存儲概念 與目前常見的集中式存儲技術(shù)不同,分布式存儲
    的頭像 發(fā)表于 11-17 09:26 ?2.4w次閱讀
    什么是<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b><b class='flag-5'>技術(shù)</b>?有哪些應(yīng)用?

    分布式存儲技術(shù)有哪些

    本視頻主要詳細介紹了分布式存儲技術(shù)有哪些,分別是元數(shù)據(jù)管理、系統(tǒng)彈性擴展技術(shù)、存儲層級內(nèi)的優(yōu)化技術(shù)
    的頭像 發(fā)表于 01-04 16:39 ?1.7w次閱讀

    阿里巴巴如何使用分布式存儲技術(shù)

    阿里巴巴可能和其他做云產(chǎn)品的公司不一樣,對于我們來說,我們做這些新的技術(shù),并不是讓大家去做小白鼠,阿里巴巴自己內(nèi)部關(guān)鍵的電商業(yè)務(wù)也是跑在同一套系統(tǒng)上。
    發(fā)表于 05-21 11:32 ?2510次閱讀
    阿里巴巴如何使用<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b><b class='flag-5'>技術(shù)</b>

    瞄上分布式存儲技術(shù) 京東云投資EasyStack

    8月8日消息,億邦動力獲悉,京東云宣布戰(zhàn)略投資EasyStack,雙方將在云計算、分布式存儲、容器三大開源技術(shù)領(lǐng)域進行合作,助力京東云成為可托付的云計算服務(wù)商。
    發(fā)表于 06-11 10:54 ?655次閱讀

    分布式存儲技術(shù) 從你說了算到大家說了算

    我們總說區(qū)塊鏈就是一個分布式賬本,但實際上,區(qū)塊鏈的核心技術(shù)包含智能合約、共識機制、加密算法等等,分布式存儲技術(shù)只是其核心
    發(fā)表于 06-12 16:39 ?1184次閱讀

    區(qū)塊鏈技術(shù)的應(yīng)用有望解決供應(yīng)鏈金融的發(fā)展痛點

    區(qū)塊鏈技術(shù)作為一種分布式存儲技術(shù),可以通過共識算法解決信任問題,通過智能合約防范履約風(fēng)險,從而使信任可沿供應(yīng)鏈條有效傳導(dǎo),降低合作成本,提高履約效率。
    發(fā)表于 06-13 10:59 ?715次閱讀

    分布式存儲技術(shù)之TurboEx超融合郵件系統(tǒng)

    近日,國產(chǎn)郵件系統(tǒng)的領(lǐng)先品牌TurboEx正式發(fā)布分布式存儲技術(shù),通過最新的分布式存儲技術(shù),Tu
    發(fā)表于 10-29 11:38 ?1370次閱讀

    分布式存儲技術(shù)將引領(lǐng)著產(chǎn)業(yè)區(qū)塊鏈的發(fā)展

    為了應(yīng)對海量數(shù)據(jù)傳輸、存儲以及計算帶來的挑戰(zhàn),發(fā)展分布式網(wǎng)絡(luò)勢在必行。而利用區(qū)塊鏈技術(shù)的治理機制、安全機制、激勵機制才能有效的組織分布式網(wǎng)絡(luò)資源。
    發(fā)表于 10-30 11:21 ?1560次閱讀

    曙光中標(biāo)分布式存儲產(chǎn)品集采 中國移動給大訂單

    近年來,分布式存儲技術(shù)在電信行業(yè)得到廣泛的推廣,在云化轉(zhuǎn)型、 IoT、5G 等新興業(yè)務(wù),虛擬化資源池、數(shù)據(jù)庫業(yè)務(wù)、傳統(tǒng)老舊存儲替換等場景下都有著大量的落地。
    發(fā)表于 07-02 09:07 ?500次閱讀

    主流分布式存儲技術(shù)的對比分析與應(yīng)用

    隨著數(shù)字化轉(zhuǎn)型的深入,海量數(shù)據(jù)對存儲提出了新的要求。傳統(tǒng)存儲雖然有技術(shù)成熟、性能良好、可用性高等優(yōu)點,但面對海量數(shù)據(jù),其缺點也越來越明顯:如擴展性差、成本高等。為了克服上述缺點,滿足海量數(shù)據(jù)的
    發(fā)表于 07-13 15:52 ?3737次閱讀
    主流<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b><b class='flag-5'>技術(shù)</b>的對比分析與應(yīng)用

    阿里巴巴探討新基建下數(shù)字經(jīng)濟分布式存儲新機遇

    本次大會匯集眾多領(lǐng)導(dǎo)、嘉賓,在此共同探討新基建下數(shù)字經(jīng)濟以及分布式存儲技術(shù)的發(fā)展新機遇。
    的頭像 發(fā)表于 08-17 14:21 ?3173次閱讀

    一文知道分布式存儲技術(shù)的發(fā)展歷程

    互聯(lián)網(wǎng)起源于1969年的美國國防部高級研究計劃署的阿帕網(wǎng)(ARPANet),阿帕網(wǎng)是計算機網(wǎng)絡(luò)技術(shù)發(fā)展的一個重要里程碑,其核心分組交換技術(shù)實現(xiàn)了計算機與計算機之間的通信。
    發(fā)表于 09-30 14:17 ?4043次閱讀

    主流分布式存儲技術(shù)對比分析

    如今分布式存儲產(chǎn)品眾多令人眼花繚亂,如何選型?要根據(jù)其背后的核心架構(gòu)來分析它本來的原貌,然后才能決定其是否適合我們的具體場景。
    的頭像 發(fā)表于 02-15 15:06 ?1955次閱讀
    主流<b class='flag-5'>分布式</b><b class='flag-5'>存儲</b><b class='flag-5'>技術(shù)</b>對比分析

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品