在學習CGFT大數(shù)據(jù)原理時,Region服務器的工作原理是需要重要掌握的。下文是詳細介紹,隨融躍小編一起了解一下!

Region服務器是有HBase中核心的模塊,Region服務器內(nèi)部管理了一系列Region對象和一個HLog文件。其中,HLog是磁盤上面的記錄文件,它記錄著所有的更新操作。

每個Region對象又是由多個store組成的,每個store對應了一個列族的存儲。

1. 用戶讀寫數(shù)據(jù)的過程

當用戶寫入數(shù)據(jù)時,會被分配到相應的Region服務器去執(zhí)行操作。用戶數(shù)據(jù)首先被寫入到memstore和hlog中。當操作寫入hlog之后,commit()調(diào)用才會將其返回給客戶端。

特許全球金融科技師CGFT一級

2. 緩存的刷新

Memstore緩存的容量有限,系統(tǒng)會周期性地調(diào)用Region.flushcache()把Memstore緩存里面的內(nèi)容寫到磁盤的storefile文件中,清空緩存,并在hlog文件中寫入一個標記,用來表示緩存中的內(nèi)容已經(jīng)被寫入storefile文件中。

3、storefile的合并

每次Memstore緩存的刷新操作,都會在磁盤上生成一個新的storefile文件,這樣,系統(tǒng)中的每個store就會存在多個storefile文件。當需要訪問某個store中的某個值時,就必須查找所有這些storefile,是很費時間的,因此,為了減少查找時間,系統(tǒng)一般會調(diào)用store.compact()把多個storefile合并成一個大文件。