Table中的所有行都按照rowkey的字典順序排列
Table在行的方向上分割爲多個Region
Region是按照大小分割的每個表開始只有一個region,隨着數據增
多,region不斷變大,當大到一定程度的時候,region就會分割成兩個>新的region,之後會有越來越多的region;
那麼爲什麼要拆分region呢?
第一點.可以並行化的處理數據.可以分割的數據可以通過Mapreduce進行並行處理,提高效率;一個Region在同一時刻只能被同一個RegionServer管理
RegionServer能管理多個Region不同的Region分佈到不同的RegionServer上
Region是HBase中分布式存儲和負載均衡的最小單元,但不是存儲的最小單元
如圖所示Region由一個或者多個Store組成,每個Store保存一個Column Family;每個Store又由一個MemStore和0至多個StoreFile組成;MemStore存儲在內存中,StoreFile存儲在HDFS上;
數據先保存在memoryStore上也就是內存中,當MemoryStore滿了之後將會以StoreFile的形式寫入到DHFS上