偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Cassandra內(nèi)部機(jī)制的相關(guān)技巧

數(shù)據(jù)庫(kù)
對(duì)于Cassandra內(nèi)部機(jī)制,大家可能了解的補(bǔ)時(shí)很多。本文將從協(xié)議,移交等角度來(lái)談一談內(nèi)部機(jī)制的問(wèn)題。

閑話協(xié)議(Gossip)

Cassandra是一個(gè)有單個(gè)節(jié)點(diǎn)組成的集群 – 其中沒(méi)有“主”節(jié)點(diǎn)或單點(diǎn)故障-因此,每個(gè)節(jié)點(diǎn)都必須積極地確認(rèn)集群中其他節(jié)點(diǎn)的狀態(tài)。它們使用一個(gè)稱為閑話(Gossip)的機(jī)制來(lái)做此事.每個(gè)節(jié)點(diǎn)每秒中都會(huì)將集群中每個(gè)節(jié)點(diǎn)的狀態(tài)“以閑話的方式傳播”到1-3個(gè)其他節(jié)點(diǎn).系統(tǒng)為閑話數(shù)據(jù)添加了版本,因此一個(gè)節(jié)點(diǎn)的任何變更都會(huì)快速地傳播遍整個(gè)集群.通過(guò)這種方式,每個(gè)節(jié)點(diǎn)都能知道任一其他節(jié)點(diǎn)的當(dāng)前狀態(tài):是在正在自舉呢, 還是正常運(yùn)行呢,等等.

提示移交(Hinted Handoff)

在關(guān)于寫(xiě)操作的文章中,我提到Cassandra會(huì)存儲(chǔ)數(shù)據(jù)的拷貝到N個(gè)節(jié)點(diǎn).客戶端可以根據(jù)數(shù)據(jù)的重要性選擇一個(gè)一致性級(jí)別(Consistency level),例如, ConsistencyLevel.QUORUM表示,只有這N個(gè)節(jié)點(diǎn)中的多數(shù)返回成功才表示這個(gè)寫(xiě)操作成功.

如果這些節(jié)點(diǎn)中的一個(gè)宕機(jī)了,會(huì)發(fā)生什么呢?寫(xiě)操作稍后將如何傳遞到此節(jié)點(diǎn)呢?Cassandra使用了一種稱為提示移交(Hinted Handoff)的技術(shù)來(lái)解決此問(wèn)題,其中數(shù)據(jù)會(huì)被寫(xiě)入并保存到另一個(gè)隨機(jī)節(jié)點(diǎn)X,并提示這些數(shù)據(jù)需要被保存到節(jié)點(diǎn)Y,并在節(jié)點(diǎn)重新在線時(shí)進(jìn)行重放(記住,當(dāng)節(jié)點(diǎn)Y變成在線時(shí),閑話機(jī)制會(huì)快速通知X節(jié)點(diǎn)).提示移交可以確保節(jié)點(diǎn)Y可以快速的匹配上集群中的其他節(jié)點(diǎn).注意,如果提示移交由于某種原因沒(méi)有起作用,讀修復(fù)最終仍然會(huì)“修復(fù)”這些過(guò)期數(shù)據(jù),不過(guò)只有當(dāng)客戶端訪問(wèn)這些數(shù)據(jù)時(shí)才會(huì)進(jìn)行讀修復(fù).

提示的寫(xiě)是不可讀的(因?yàn)楣?jié)點(diǎn)X并不是這N份拷貝的其中一個(gè)正式節(jié)點(diǎn)),因此,它們并不會(huì)記入寫(xiě)一致性.如果Cassandra的配置了3份拷貝,而其中的兩個(gè)節(jié)點(diǎn)不可用,就不可能實(shí)現(xiàn)一個(gè)ConsistencyLevel.QUORUM的寫(xiě)操作.

逆熵(Anti-Entropy)

Cassandra的***一個(gè)眾所周知的秘密武器是逆熵(Anti-entropy).逆熵明確保證集群中的節(jié)點(diǎn)一致認(rèn)可當(dāng)前數(shù)據(jù).如果由于默認(rèn)情況,讀修復(fù)(read repair)與提示移交(hinted handoff)都沒(méi)有生效,逆熵會(huì)確保節(jié)點(diǎn)達(dá)到最終一致性.逆熵服務(wù)是在“主壓縮”(等價(jià)與關(guān)系數(shù)據(jù)庫(kù)中的重建表)時(shí)運(yùn)行的,因此,它是一個(gè)相對(duì)重量級(jí)但運(yùn)行不頻繁的進(jìn)程.逆熵使用Merkle樹(shù)(也稱為散列樹(shù))來(lái)確定節(jié)點(diǎn)在列族(column family)數(shù)據(jù)樹(shù)內(nèi)的什么位置不能一致認(rèn)可,接著修復(fù)該位置的每一個(gè)分支.

原文鏈接:http://www.dbthink.com/?p=430

【編輯推薦】
  1. 詳解NoSQL數(shù)據(jù)庫(kù)Apache Cassandra的配置
  2. 漫談Cassandra客戶端的使用
  3. 詳解Cassandra數(shù)據(jù)模型
  4. 超越關(guān)系型數(shù)據(jù)庫(kù) pureXML技術(shù)應(yīng)用及展望
  5. 新興數(shù)據(jù)庫(kù)打破整個(gè)舊規(guī)則
  6. 探尋關(guān)系數(shù)據(jù)庫(kù)和ORM的***替代者
責(zé)任編輯:彭凡 來(lái)源: www.dbthink.com
相關(guān)推薦

2010-06-02 13:13:40

Cassandra

2010-11-02 08:58:59

Cassandra

2010-11-12 09:44:59

Cassandra配置

2023-06-07 15:25:19

Kafka版本日志

2009-08-06 15:12:22

C#異常機(jī)制

2010-03-25 18:17:04

Nginx配置

2009-06-11 11:17:59

Java多線程

2017-09-05 08:08:37

asyncio程序多線程

2015-06-16 10:44:42

2010-10-26 17:17:37

創(chuàng)建ORACLE索引

2010-04-08 15:54:53

NTFS共享設(shè)置技巧

2010-01-06 15:18:51

Json插件

2009-12-28 14:04:44

ADO技術(shù)

2011-06-22 16:50:09

Qt 進(jìn)程 通信機(jī)制

2018-12-26 16:30:09

SQL Server內(nèi)部運(yùn)行機(jī)制數(shù)據(jù)庫(kù)

2022-11-03 10:28:59

PandasSAC機(jī)制

2009-12-10 17:27:39

PHP操作Cookie

2009-12-28 15:01:39

WPF樹(shù)應(yīng)用

2010-01-25 18:22:33

Android使用XM

2010-02-22 17:58:06

WCF異步上傳
點(diǎn)贊
收藏

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