HBase是一種面向列的分布式數(shù)據(jù)庫(kù)存儲(chǔ)系統(tǒng),它是基于Hadoop的HDFS分布式文件系統(tǒng)構(gòu)建的。HBase將數(shù)據(jù)存儲(chǔ)在表中,每個(gè)表都可以包含多個(gè)列族,每個(gè)列族可以包含多個(gè)列。數(shù)據(jù)在HBase中以行的形式存儲(chǔ),行由一個(gè)唯一的行鍵標(biāo)識(shí),通過(guò)行鍵可以訪問(wèn)整行數(shù)據(jù)。每行數(shù)據(jù)可以包含多個(gè)列族,每個(gè)列族可以包含多個(gè)列。
HBase使用分布式存儲(chǔ)方式存儲(chǔ)數(shù)據(jù),數(shù)據(jù)被分割成多個(gè)區(qū)域,每個(gè)區(qū)域存儲(chǔ)在不同的RegionServer上。當(dāng)數(shù)據(jù)被寫入HBase時(shí),數(shù)據(jù)首先會(huì)被緩存在內(nèi)存中,然后根據(jù)一定的條件寫入HDFS中的文件中。當(dāng)數(shù)據(jù)被讀取時(shí),HBase首先會(huì)查找內(nèi)存中是否存在數(shù)據(jù),如果不存在則會(huì)從HDFS中讀取數(shù)據(jù)。
總的來(lái)說(shuō),HBase存儲(chǔ)數(shù)據(jù)的方式是將數(shù)據(jù)分布在多個(gè)節(jié)點(diǎn)上,通過(guò)分布式存儲(chǔ)和橫向擴(kuò)展的方式來(lái)提高系統(tǒng)的性能和可擴(kuò)展性。同時(shí),HBase也支持?jǐn)?shù)據(jù)的版本控制和數(shù)據(jù)的快速訪問(wèn),使得用戶可以方便地存儲(chǔ)和查詢海量數(shù)據(jù)。