HBase Table 模型
HBase Table Model
我正在学习如何使用 HBase。我需要将几辆车的每次行程都放入数据库中(按地理定位点(x
,y
))。这些数据采用 JSON 格式。
问题是我恢复的每个文档在旅途中地理定位的点数都发生了变化。 (每次旅行都不一样。)
如何将这些数据存储在HBase中?
是否必须更改插入的每一行的列数?
- 旅行 1 : x1,y1,x2,y2,x3,y3
- 行程2:x1,y1,x2,y2,x3,y3,x4,y4
或者我是否只需要保留 2 列,一列用于所有 x
,一列用于所有 y
?
- 旅行 1 : (X,Y)
- 旅行 2 : (X,Y)
据我了解,每次旅行都是 (x,y) 坐标的时间序列。我建议采用以下模式设计:
Row key = shardKey + tripId + timestamp
,每行有 x
和 y
列。
Shard key 可以是(tripId % number of regions)
,防止热点。
这将允许从一个区域通过单次扫描检索每次旅行的数据。
我正在学习如何使用 HBase。我需要将几辆车的每次行程都放入数据库中(按地理定位点(x
,y
))。这些数据采用 JSON 格式。
问题是我恢复的每个文档在旅途中地理定位的点数都发生了变化。 (每次旅行都不一样。)
如何将这些数据存储在HBase中?
是否必须更改插入的每一行的列数?
- 旅行 1 : x1,y1,x2,y2,x3,y3
- 行程2:x1,y1,x2,y2,x3,y3,x4,y4
或者我是否只需要保留 2 列,一列用于所有 x
,一列用于所有 y
?
- 旅行 1 : (X,Y)
- 旅行 2 : (X,Y)
据我了解,每次旅行都是 (x,y) 坐标的时间序列。我建议采用以下模式设计:
Row key = shardKey + tripId + timestamp
,每行有 x
和 y
列。
Shard key 可以是(tripId % number of regions)
,防止热点。
这将允许从一个区域通过单次扫描检索每次旅行的数据。