Hbase儲存資料結構
阿新 • • 發佈:2019-01-22
比如現在該rs下有4個檔案,儲存的是4個region的資訊:
file1: RegionA,4表示的是檔名是file1,其中儲存了一個entry其regionname是reginA,其seqNum是4,seqnum是遞增的且新建的檔案的seq比原先的大
file1: RegionA,4 RegionB,5 RegionC,6 RegionD,7
file2: RegionA,8 RegionB,9 RegionC,10
file3: RegionA,11 RegionB,12 RegionD,13
file4: RegionB,14
如上面所示,假設上面4個檔案都存在,且假設此時lastSeqWritten 中儲存的是RegionB,14
因為lastSeqWritten儲存的是最新加入的entries且並沒有被flush,這說明Region A,C,D都已經flush結束的,而file1,2,3,由於其seqnum都小於14,認為這些file都已經flush成功了,可以移除了,因為A,C,D都已經flush成功,而如果1,2,3中的Region B未flush那麼此時lastSeqWritten儲存的肯定不是14了而是小於十四的未flush的seq