1. 程式人生 > >HBase中rowkey及建表方式設計

HBase中rowkey及建表方式設計

rowkey及建表方式設計(舊)
場景 單次查詢條件 查詢
方式
rowkey設計 建表 存在的問題
指標牆 時間、地域、指標都固定 get 指標  + 時間 + 子region 三種場景一個表 第一種場景沒問題
指標分析 地域、指標固定、時間範圍查詢 scan+過濾器 scan後有大量的資料需要過濾(多達數十萬以上的資料),直接影響查詢效率
報表 時間、指標固定、指定父地域查詢父子地域的指標 scan+過濾器

 

rowkey及建表方式設計(新)
場景 單次查詢條件 查詢
方式
rowkey設計 rowkey字首設計 建表 設計理由
指標牆 時間、地域、指標都固定 get 指標-地域-時間 地域+指標一起做hash 兩個場景用一個表 rowkey是固定的用get能夠快速返回
指標分析 地域、指標固定、時間範圍查詢 scan 地域、指標固定後,最大的時間範圍就是365天,scan的資料很小,能快速返回
報表 時間、指標固定、指定父地域查詢父子地域的指標 scan 指標-時間-父地域-子地域 時間+指標一起做hash 單獨一個表 1、時間、指標、父地域三者固定,scan來查子地域掃描的範圍就少多了
(父地域下的子地域最多有幾千個)
2、時間、指標、父地域三者固定,可以從前兩個場景對應的表裡用get快速
查出父地域的資料

原文連結:https://blog.csdn.net/KamRoseLee/article/details/84070349