hbase中的寬表是指很多列較少行,即列多行少的表,一行中的資料量較大,行數少;高表是指很多行較少列,即行多列少,一行中的資料量較少,行數大。
hbase的row key是分布式的索引,也是分片的依據。
hbase的row key + column family + column qualifier + timestamp + value 是hfile中資料排列依據。hfile據此,對資料的索引到data block級別,而不是行級別。所以這種key是hfile內部的粗粒度(data block粒度)本地索引的主鍵。
據此,在hbase中使用寬表、高表的優劣總結如下:
設計表時,可以不絕對追求高表、寬表,而是在兩者之間做好平衡。根據查詢模式,需要分布式索引、分片、有很高選擇度(即能據此查詢條件迅速鎖定很小範圍的一些行)的查詢用字段,應該放入row key;能夠均勻地劃分資料位元組數的字段,也應該放入row key,作為分片的依據。選擇度較低,並且不需要作為分片依據的查詢用字段,放入column family和column qualifier,不放入row key。
HBase學習筆記 高表與寬表的選擇
hbase中的寬表是指很多列較少行,即列多行少的表,一行中的資料量較大,行數少 高表是指很多行較少列,即行多列少,一行中的資料量較少,行數大。hbase的row key是分布式的索引,也是分片的依據。hbase的row key column family column qualifier times...
HBase 高表與寬表的選擇
hbase中的寬表是指很多列較少行,即列多行少的表,一行中的資料量較大,行數少 高表是指很多行較少列,即行多列少,一行中的資料量較少,行數大。hbase的row key是分布式的索引,也是分片的依據。hbase的row key column family column qualifier times...
HBase的高表和寬表
hbase中的寬表是指很多列較少行,即列多行少的表,一行中的資料量較大,行數少 hbase中高表是指很多行較少列,即行多列少,一行中的資料量較少,行數大。hbase的row key是分布式的索引,也是分片的依據。hbase的row key column family column qualifier...