溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介

發(fā)布時(shí)間:2020-07-09 01:30:09 來源:網(wǎng)絡(luò) 閱讀:1486 作者:jijun87120681 欄目:數(shù)據(jù)庫

    通過上面2節(jié),大家了解到了RDBMS遇到的問題,以及對(duì)Cassandra有了基本的了解。下面將介紹下Cassandra內(nèi)部簡(jiǎn)單結(jié)構(gòu)。

    通過本章,大家應(yīng)該了解到:

  1. Cassandra Write流程

  2. 什么是SSTable

  3. Cassandra Read流程


  • Cassandra Write流程

  1. Writes可以被寫入到集群中的任意節(jié)點(diǎn)

  2. Writes被寫入到commit log,同時(shí)寫到memtable

  3. 每一個(gè)write包含一個(gè)timestamp

  4. Memtable定期flush到硬盤中(sstable)

        當(dāng)memtable的內(nèi)容超過了其配置的限制,它包含的數(shù)據(jù)就會(huì)被放到一個(gè)隊(duì)列中并刷新到磁盤。你可以通過修改cassandra.yaml中 memtable_flush_queue_size的值來改變隊(duì)列的長度

  5. 新的memtable在內(nèi)存中創(chuàng)建

  6. 刪除是一種特殊write,稱之為”tombstone”(墓碑)

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介

  • 什么是SSTable

    SSTable有序字符串表(Sorted String Table),是從Google的Bigtable里借鑒過來的概念。一旦memtable被刷寫入磁盤,成為一個(gè)SSTable,它就是不可變的了。

    特點(diǎn)如下:

  1. 數(shù)據(jù)文件:存儲(chǔ)記錄,不可變

  2. 每一個(gè)write包含一個(gè)timestamp

  3. Partition被分割到多個(gè)SSTable

  4. 新的memtable在內(nèi)存中創(chuàng)建

  5. 通過compaction合并,只保存最新的timestamp

  6. 刪除被標(biāo)記為tombstone

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介

  • Cassandra Read流程

  1. 任何server都可以作為coordinator被查詢

  2. 通過查詢key定位交互的nodes

  3. 在每一個(gè)node上,數(shù)據(jù)都是從SSTable拉取并合并

  4. 一致性< ALL時(shí),將會(huì)在后臺(tái)執(zhí)行read repaire(read_repaire_chance)

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介

Cassandra基本介紹(3) - 架構(gòu)簡(jiǎn)介


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI