在學(xué)習(xí)CGFT大數(shù)據(jù)原理時(shí),Region服務(wù)器的工作原理是需要重要掌握的。下文是詳細(xì)介紹,隨融躍小編一起了解一下!
Region服務(wù)器是有HBase中核心的模塊,Region服務(wù)器內(nèi)部管理了一系列Region對(duì)象和一個(gè)HLog文件。其中,HLog是磁盤上面的記錄文件,它記錄著所有的更新操作。
每個(gè)Region對(duì)象又是由多個(gè)store組成的,每個(gè)store對(duì)應(yīng)了一個(gè)列族的存儲(chǔ)。
1. 用戶讀寫數(shù)據(jù)的過(guò)程
當(dāng)用戶寫入數(shù)據(jù)時(shí),會(huì)被分配到相應(yīng)的Region服務(wù)器去執(zhí)行操作。用戶數(shù)據(jù)首先被寫入到memstore和hlog中。當(dāng)操作寫入hlog之后,commit()調(diào)用才會(huì)將其返回給客戶端。
2. 緩存的刷新
Memstore緩存的容量有限,系統(tǒng)會(huì)周期性地調(diào)用Region.flushcache()把Memstore緩存里面的內(nèi)容寫到磁盤的storefile文件中,清空緩存,并在hlog文件中寫入一個(gè)標(biāo)記,用來(lái)表示緩存中的內(nèi)容已經(jīng)被寫入storefile文件中。
3、storefile的合并
每次Memstore緩存的刷新操作,都會(huì)在磁盤上生成一個(gè)新的storefile文件,這樣,系統(tǒng)中的每個(gè)store就會(huì)存在多個(gè)storefile文件。當(dāng)需要訪問(wèn)某個(gè)store中的某個(gè)值時(shí),就必須查找所有這些storefile,是很費(fèi)時(shí)間的,因此,為了減少查找時(shí)間,系統(tǒng)一般會(huì)調(diào)用store.compact()把多個(gè)storefile合并成一個(gè)大文件。
學(xué)習(xí)交流群(掃碼免費(fèi)加群)
- 1、新手入門
- 2、學(xué)習(xí)資料
- 3、免費(fèi)課程
- 4、考試動(dòng)態(tài)
- 5、備考干貨
- 6、答疑沖刺